2016-05-30 140 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

相关问题