对 JS/Ajax 来说相对较新,所以我可能在这里遗漏了一些明显的东西。比方说,在 javascript 的某个时刻,我运行 ajax 来获取一些具有特定类名的 div 元素。然后我想从这些元素中的每一个中检索 html id 标记并使用该信息做一些事情(比如填充元素),就像这样。
var divstopop = document.getElementsByClassName("popField"),x;
for(x in divstopop){
divstopop[x].innerHTML= x.id; //x.id or something?
}
这有可能做到吗?
最佳答案
使用in
不是您应该迭代元素数组的方式。您应该使用 .length
属性并使用数字索引:
for (var i = 0; i < divstopop.length; ++i) {
// Get id property from element and set as innerHTML
divstopop[i].innerHTML = divstopop[i].id;
}
随着ES6的引入,你也可以使用for ... of
完成你想要的:
for (const node of document.getElementsByClassName("popField")) {
node.innerHTML = node.id;
}
关于javascript - 来自 document.getElementsByClassName 的元素 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14619890/