2016-05-30 141 views
0

我有以下的自定義標籤/指令:有沒有辦法通過屬性來獲取元素?

<tile class="ng-scope gridster-item" tilevalue="1" gridster-item="tile" row="0" col = "0" ng-repeat="tile in selectedTiles"> </tile> 

我想將焦點設置此元素上。有沒有辦法通過屬性名稱獲取元素,以便我可以設置焦點?

+0

將注意力集中在表單元素上是可以理解的。你有自定義元素,並且它具有中繼器,你在這個自定義元素中有什麼? – Jai

回答

0

使用普通的javavascript,您可以使用.querySelector.querySelectorAll來獲取所需的元素,就像在CSS中一樣。

var element = document.querySelector('[class="ng-scope gridster-item"]') 

var element = document.querySelector('[gridster-item="tile"]') 

然後,你可以自由地使用任何你想要的element

0

如同您爲jquery標記的那樣,如果只有一個名爲「tile」的元素,您可以使用基於類的元素名稱$("tile")$(".ng-scope.gridster-item")

否則,使用任何屬性與$("[attribute_name='attribute_value']")

注意此可以返回對象的陣列。例如,獲取元素本身使用$("[attribute_name='attribute_value']")[0]

0

使用document.querySelectordocument.querySelectorAll(無jQuery的需要)

var elements = document.querySelectorAll("[gridster-item]"); 

或:

var elements = document.querySelectorAll("[gridster-item=tile]"); 

將焦點設置:

elements[0].focus(); 

querySelector返回的第一個元素,querySelectorAll返回一個數組像NodeList

相關問題