有没有办法按属性抓取元素?

时间:2016-05-30 16:20:14

标签: javascript jquery html css angularjs

我有以下自定义标记/指令:

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

我想把重点放在这个元素上。有没有办法按属性名称获取元素,以便我可以设置焦点?

3 个答案:

答案 0 :(得分:0)

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

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

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

然后,您可以element随意使用任何内容。

答案 1 :(得分:0)

当您标记jquery时,您有很多可能性,如果只有一个名为“tile”的元素,您可以使用元素名称$("tile")$(".ng-scope.gridster-item")基于类。

否则,请使用$("[attribute_name='attribute_value']")

的任何属性

注意这可以返回一个对象数组。要获取元素本身,请使用$("[attribute_name='attribute_value']")[0]

答案 2 :(得分:0)

使用document.querySelectordocument.querySelectorAll(不需要jQuery)

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

或:

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

设置焦点:

elements[0].focus();

querySelector返回第一个元素,querySelectorAll返回类似数组的NodeList

相关问题