我正在尝试更新一组 div class="oct_days"
以根据 :nth-child(n)
为它们提供 id。 id
的格式是oct_n
。我正在尝试使用 for 循环来为 div 设置它来完成此操作。
window.onload = function addOctDate() {
var cls = document.getElementByClass("oct_days");
for (var n = 1; n < 32; n++) {
cls[n].id = "oct_" + n;
}
};
fiddle ( http://jsfiddle.net/ascottz/D9Exm/ )
想法是让 .oct_days:nth-child(1)
有 id="oct_1"
,但没有设置 id。
最佳答案
请问您的问题是:
- window.onload 在您的 html 初始化之前正在运行
- 您需要调用
document.getElementsByClassName
而不是 - 您从 1 开始迭代,索引基于 0,您应该从那里开始并添加
+ 1
,如下所述 - 另外,在迭代时,最好只迭代列表中的已知项
试试这段代码:
function addOctDate() {
var cls = document.getElementsByClassName("oct_days");
for (n=0, length = cls.length; n < length; n++) {
cls[n].id= "oct_" + (n + 1);
}
};
addOctDate()
关于Javascript - 使用 for 循环添加元素 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19261518/