我正在用AngularJS编写指令,我需要做的一件事是在表单中找到所有控件并对其进行迭代。

如果加载了jQuery,请执行以下操作:

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

});

但是因为它没有被加载,而我只有Angular,所以我只能考虑做类似的事情:
var inputs = element.find("input");
//for loop thru this
var selects = element.find("select");
//for loop thru this
//....etc

有没有更好的方法使用jQLite来做到这一点?

最佳答案

如果支持IE7或更早版本的是 not a requirement ,则可以使用Element querySelectorAll 方法:

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

关于angularjs - 如何使用angular.element查找和迭代多个元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24222828/

10-16 21:11