如何使用angular.element查找并迭代多个元素?

use*_*163 5 angularjs jqlite

我正在写一个指令,AngularJS我需要做的一件事就是找到一个表单中的所有控件并迭代它们.

如果jQuery加载我这样做:

var inputs = element.find(".ng-invalid,.ng-valid");
inputs.each(function ()
{
    var i = $(this);               

});
Run Code Online (Sandbox Code Playgroud)

但由于它没有加载我只是Angular想我做的事情就像:

var inputs = element.find("input");
//for loop thru this
var selects = element.find("select");
//for loop thru this
//....etc
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法使用jQLite来实现这一目标?

gka*_*pak 3

如果不需要支持 IE7 或更早版本,您可以使用querySelectorAll方法Element

var controls = element[0].querySelectorAll('.ng-invalid, .ng-valid');
[].forEach.call(controls, function (ctl) {
    var c = angular.element(ctl);               
    ...
});
Run Code Online (Sandbox Code Playgroud)