首先,抱歉我的英语不好......
我写了一个函数来改变元素类来改变它们的属性.出于某种原因,只有一些元素发生了变化,我花了几个小时才找到解决方案,但他对我来说似乎很奇怪,也许你可以向我解释一下.
function replace(){
var elements = document.getElementsByClassName('classOne');
for (var i = 0; i < elements.length; i++) {
elements[i].className = 'classTwo';
}
}
Run Code Online (Sandbox Code Playgroud)
不能正常工作,在这里演示,[在chrome 25和FF],所以我采用了循环系数:
function replace(){
var elements = document.getElementsByClassName('classOne');
for (var i = 0; i < elements.length; i) { // Here’s the difference
elements[i].className = 'classTwo';
}
}
Run Code Online (Sandbox Code Playgroud)
这很好用!似乎被称为"推",并且不需要系数......这是正常的吗?它与我见过的例子不同.
提前致谢!
我有以下问题.
我生成一个列表,其中包含具有特定类的所有元素.在那之后我通过他们循环来替换班级.
正如你在这里看到的:https://jsfiddle.net/nafxLoLz/只有2个元素中的一个被替换.console.log清楚地表明循环只经过一次.如果我评论7个javascript代码.(见小提琴)循环工作正常.
我做错了什么?
码:
var list = document.getElementsByClassName("default");
console.log(list.length);
for(var i = 0; i < list.length; i++)
{
console.log(i);
list[i].classList.add("red");
list[i].classList.remove("default");
}
Run Code Online (Sandbox Code Playgroud)