javascript getElementByClass().setAttribute不起作用

wnavrhmk  于 2023-08-02  发布在  Java
关注(0)|答案(3)|浏览(73)

为什么当我写作

document.getElementByClass('home1').setAttribute('style', 'background-image:url(img/red_menu.PNG);');

字符串
不管用吗?我有class="home1"的元素
document.getElementById('home1')...工作正常,谢谢

abithluo

abithluo1#

getElementsByClassName,不是getElementByClass; details here。请注意IE不支持此功能(尚未)。
getElementsByClassName返回匹配元素的NodeList(而不是单个元素),因此:

var list, index;
list = document.getElementsByClassName("home1");
for (index = 0; index < list.length; ++index) {
    list[index].setAttribute(/* ... */);
}

字符串
对于这类事情,您可能希望使用jQueryPrototypeGoogle Closure等库,以弥补各种浏览器的差异。与自己处理这些差异相比,它们可以为您节省很多时间和麻烦。
在jQuery中:

$(".home1").attr(/* ... */);


...将该属性(通过jQuery#attr)应用于类为“home 1”的每个元素。尽管在您的特定情况下,您可能会希望使用jQuery#css

xqkwcwgp

xqkwcwgp2#

如果在整个HTML文件中只有一个类名,那么也可以使用

document.getElementsByClassName('navbar-nav')[0].setAttribute('id', 'navbar-toggle');

字符串

3vpjnl9f

3vpjnl9f3#

请用途:
Copyright © 2018 - 2019 www. jsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsj ');

相关问题