我是AngularJS的新手。我学会了,我可以在DOM中使用如下查询查找元素:
var e = angular.element(document.querySelector('#id')); var e = angular.element(elem.querySelector('.classname'));
这对于通过ID或CSS类名查找元素很有用。然而,我需要能够使用不同的方法找到一个元素。我有一个像下面的元素:
<div my-directive class='myContainer'>...</div>
我不能查询’myContainer’,因为它的重用有多少。因此,我想找到任何具有属性’my-directive’的元素。如何搜索DOM并找到使用“my-directive”的任何元素?
而不是查询元素的DOM(这不是很有角度见
How do I “think in AngularJS” if I have a jQuery background?),你应该在你的指令中执行你的DOM操作。该元素在您的链接功能中可用。
原文链接:https://www.f2er.com/angularjs/145806.html所以在你的myDirective
return { link: function (scope,element,attr) { element.html('Hello world'); } }
如果你必须在指令之外执行查询,那么在现代浏览器中可以使用querySelectorAll
angular.element(document.querySelectorAll("[my-directive]"));
然而你需要使用jquery来支持IE8和向后
angular.element($("[my-directive]"));
或者编写自己的方法,如这里演示的How to get elements by attribute selector w/ native JavaScript w/o querySelectorAll