gpt4 book ai didi

javascript - 使用 getelementbyclass 删除属性

转载 作者:行者123 更新时间:2023-11-28 14:58:15 25 4
gpt4 key购买 nike

这里我尝试调用类并获取变量中的值以删除其属性style并再次设置style,但它显示这样的错误

Uncaught TypeError: cls.removeAttribute is not a function.

cls = document.getElementsByClassName("ps-scrollbar-x-rail");
cls1 = document.getElementsByClassName("ps-scrollbar-x");
cls2 = document.getElementsByClassName("ps-scrollbar-y-rail");
//alert(cls);
//alert(cls1);
//alert(cls2);
//console.log(cls);
//console.log(cls1);
//console.log(cls2);

cls.removeAttribute("style");
cls1.removeAttribute("style");
cls2.removeAttribute("style");

cls.setAttribute("style","width: 600px; left: 258px; bottom: 1px;");
cls1.setAttribute("style","left: 143px; width: 333px;");
cls2.setAttribute("style","top: 0px; right: -255px;");

Onclick调用此方法。显示错误。

最佳答案

getElementsByClassName 将返回一个类似数组的对象 - NodeList 。您需要对该对象的每个项目调用removeAttribute。您可以使用简单的 for 循环或 foreach()

对其进行迭代
for(var i = 0; i < cls.length; i++){
cls[i].removeAttribute("style");
}

示例

对于

var cls = document.getElementsByClassName('text');

for(var i = 0; i < cls.length; i++) {
cls[i].removeAttribute('style');
}
<p style="color: red" class="text">Test</p>
<p style="color: red" class="text">Test</p>
<p style="color: red" class="text">Test</p>
<p style="color: red" class="text">Test</p>

ForEach

var cls = document.getElementsByClassName('text');

Array.prototype.forEach.call(cls, (item) => item.removeAttribute('style'));
<p style="color: red" class="text">Test</p>
<p style="color: red" class="text">Test</p>
<p style="color: red" class="text">Test</p>
<p style="color: red" class="text">Test</p>

关于javascript - 使用 getelementbyclass 删除属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42038972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com