如果可能跨平台,我如何在无法添加 ID 的代码上选择 Javascript 中的类(但请不要选择 Jquery - MooTools 很好 -)? 具体来说,我想在下面的任何 li 上添加类“cf”:
HTML
<div class="itemRelated">
<ul>
<li class="even">
<li class="odd">
<li class="even">
我试图摆弄它,但缺少一些东西:
Javascript
var list, i;
list = document.getElementsByClassName("even, odd");
for (i = 0; i < list.length; ++i) {
list[index].setAttribute('class', 'cf');
}
附言。这个问题非常有可能duplicates , (另一个 one )但没有一个答案清楚。
最佳答案
使用纯 javascript:
var list;
list = document.querySelectorAll("li.even, li.odd");
for (var i = 0; i < list.length; ++i) {
list[i].classList.add('cf');
}
Demo
对于旧版浏览器,您可以使用这个:
var list = [];
var elements = document.getElementsByTagName('li');
for (var i = 0; i < elements.length; ++i) {
if (elements[i].className == "even" || elements[i].className == "odd") {
list.push(elements[i]);
};
}
for (var i = 0; i < list.length; ++i) {
if (list[i].className.split(' ').indexOf('cf') < 0) {
list[i].className = list[i].className + ' cf';
}
}
Demo
使用 Mootools:
$$('.itemRelated li').addClass('cf');
Demo
或者如果您想按类别定位特定对象:
$$('li.even, li.odd').addClass('cf');
Demo
关于javascript - 在javascript中选择并添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21319503/