Javascript 正在与classList.add和getElementsByClassName斗争
我试图用一个特定的类(输入字段集)向某些元素添加一个额外的类 我正在尝试添加类输入字段集 但它不起作用,我得到了一个错误: 未捕获的TypeError:无法读取未定义(匿名函数)的属性“add” 我做错了什么 返回必须迭代的(对象数组) 下面的代码将完成您的目标Javascript 正在与classList.add和getElementsByClassName斗争,javascript,getelementsbyclassname,Javascript,Getelementsbyclassname,我试图用一个特定的类(输入字段集)向某些元素添加一个额外的类 我正在尝试添加类输入字段集 但它不起作用,我得到了一个错误: 未捕获的TypeError:无法读取未定义(匿名函数)的属性“add” 我做错了什么 返回必须迭代的(对象数组) 下面的代码将完成您的目标 // Get desired elements var element = document.getElementsByClassName('input-fieldset'); // Iterate through the retri
// Get desired elements
var element = document.getElementsByClassName('input-fieldset');
// Iterate through the retrieved elements and add the necessary class names.
for(var i = 0; i < element.length; i++)
{
element[i].classList.add('input-fieldset-awesome');
console.log(element[i].className);
}
//获取所需的元素
var元素=document.getElementsByClassName('input-fieldset');
//遍历检索到的元素并添加必要的类名。
对于(变量i=0;i
下面是。
getElementsByClassName
返回一个HTMLCollection
,它没有classList
属性,您应该遍历该集合
[].slice.call(document.getElementsByClassName('input-fieldset'))
.forEach(function(elem) {
elem.classList.add('cls');
});
document.getElementsByClassName
返回具有所有给定类名的所有子元素的类似数组的对象
在您的情况下,您应该像这样修改代码
var element = document.getElementsByClassName('input-fieldset')[0];
element.classList.add(' input-fieldset-awesome');
或
var elements=document.getElementsByClassName('input-fieldset');
对于(var i=0;iYou正在从getElementsByClassName
获取元素数组,请尝试仅针对特定元素,().Classlist是一种更干净、更好、相对较新的向元素添加类的方法。它不涉及操作className
string谢谢大家的提醒。我修改了我的代码以反映您的评论。太棒了,很有效!谢谢@JamesHill
[].slice.call(document.getElementsByClassName('input-fieldset'))
.forEach(function(elem) {
elem.classList.add('cls');
});
var element = document.getElementsByClassName('input-fieldset')[0];
element.classList.add(' input-fieldset-awesome');
var elements = document.getElementsByClassName('input-fieldset');
for (var i = 0; i<elements.length; i++) {
elements[i].classList.add('input-fieldset-awesome');
}