我正在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有更好的方法来实现这个目标吗?
答案 0 :(得分:3)
如果 not a requirement 支持IE7或更早版本,则可以使用Element
的 querySelectorAll 方法:
var controls = element[0].querySelectorAll('.ng-invalid, .ng-valid');
[].forEach.call(controls, function (ctl) {
var c = angular.element(ctl);
...
});
答案 1 :(得分:-1)
使用for循环。
var inputs = element.find(".ng-invalid,.ng-valid");
for (var index=0; index < inputs.length; index++) {
var subElement = angular.element(inputs)[index];
// do something with subElement
}