未按预期选择元素

时间:2017-04-21 16:25:15

标签: javascript html angularjs dom

我试图在AngularJS应用程序中使用以下代码片段来选择一个带元素的元素。

var assicurazione = document.getElementsByClassName("assicurazione");
var aLength = assicurazione.length;

for(var key in assicurazione){
   console.log("key: ", key);
   console.log("assicurazione[key] ", assicurazione[key]);
}

console.log("assicurazione element: ", assicurazione);
console.log("assicurazione.length: ", aLength);

for(var a = 0; a < aLength; a++){
   console.log("Element: ", assicurazione[a]); // not firing
   console.log("a value: ", a); // not firing
}

console.log的输出如下:

enter image description here

循环没有按预期工作,因为长度为0,但元素有一个length属性,在这种情况下它被设置为16,所以我不知道它为什么不循环遍历元素。 / p>

任何可以帮助我的人?​​

2 个答案:

答案 0 :(得分:0)

当我在此页面的上下文中运行您的代码时 - 但更改类名 - 它对我来说是按预期工作的。我怀疑你的代码可能会发生其他事情。你试过angular.element吗?

https://docs.angularjs.org/api/ng/function/angular.element

var assicurazione = document.getElementsByClassName("module");
var aLength = assicurazione.length;

console.log(assicurazione, aLength);

for(var a = 0; a < aLength; a++){
   console.log(a);
}

答案 1 :(得分:-1)

如果你想访问每个元素,你的循环需要看起来更像这样,忽略我对变量名所做的更改。

var elements = document.getElementsByClassName("mine");
var aLength = elements.length;

console.log(aLength);
console.log(elements);

for(var a = 0; a < aLength; a++){
   console.log(elements[a]);
}

查看working example on jsfiddle