javascript - 挣扎于 classList.add 和 getElementsByClassName

标签 javascript getelementsbyclassname

这个问题在这里已经有了答案:





What do querySelectorAll and getElementsBy* methods return?

(12 个回答)


8年前关闭。




我正在尝试为具有特定类(输入字段集)的某些元素添加一个额外的类。

<fieldset id="pay" class="input-fieldset"></fieldset>
<fieldset id="address" class="input-fieldset"></fieldset>

所以我做了一些搜索,发现了这个:
var element = document.getElementsByClassName('input-fieldset');
element.classList.add(' input-fieldset-awesome');

我正在尝试添加类 input-fieldset-awesome。

但它不起作用,我收到错误:

Uncaught TypeError: Cannot read property 'add' of undefined(anonymous function)



我究竟做错了什么?

最佳答案

.getElementsByClassName() 返回 HTMLCollection (对象数组)必须迭代。

下面的代码将完成您所追求的。

// 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);
}

这里是 a working fiddle to play with .

关于javascript - 挣扎于 classList.add 和 getElementsByClassName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24219702/

相关文章:

javascript - Node.JS 无法安装 ionic

javascript - jquery-select2 中的选择值验证

javascript - 我可以自行访问模块导出实例吗?

javascript - enquire.js 遗留支持

javascript - 将 getElementById 替换为 getElementsByClassName

javascript - 为什么在更改另一个变量的显示后我的变量变得未定义?

javascript - 我如何从附属类(class)返回165

javascript - 如何在 Javascript 中将 srcElement 转换为字符串

javascript - 在 React 中刷新 setInterval

javascript - 无法在 native javascript 中获取类或标签元素