Javascript 如何更改没有id的元素的类名?

Javascript 如何更改没有id的元素的类名?,javascript,dom,class-names,Javascript,Dom,Class Names,及 document.querySelectorAll'li'.classList=corgitype 但一切都没有改变。corgitype是我想在bearname上覆盖的新类名您需要迭代查询结果,返回节点列表-注意,如果您在li上设置了多个类,那么这将覆盖所有类。顺便说一句,如果你想做的只是一个stylnig,那么你可以在css-ul>li{//css样式规则}中找到li,而不需要任何类,因此类可能根本不需要 编辑-我在这里添加了一点额外的绒毛,以允许切换类和样式-更详细一点-但更容易看到类名

document.querySelectorAll'li'.classList=corgitype


但一切都没有改变。corgitype是我想在bearname上覆盖的新类名

您需要迭代查询结果,返回节点列表-注意,如果您在li上设置了多个类,那么这将覆盖所有类。顺便说一句,如果你想做的只是一个stylnig,那么你可以在css-ul>li{//css样式规则}中找到li,而不需要任何类,因此类可能根本不需要

编辑-我在这里添加了一点额外的绒毛,以允许切换类和样式-更详细一点-但更容易看到类名更改的效果

函数changeClassvalue{ var listItems=document.querySelectorAll'li'; var指数=parseIntvalue; var类型; 索引%2==0 ?类型=corgitype :type=bearname
fori=0;iquerySelectorAll返回一个静态集合。您需要迭代此集合,并可以使用将替换现有集合的className

document.querySelector all'li'.forEachfunctionitem{ item.className='corgitype'; } .corgitype{ 颜色:绿色; } 冒烟的 泰迪
您可以使用jQuery来完成此任务。您必须在项目或页面中包含jQuery,才能利用其功能。已有相关教程

添加jQuery后,完成所需任务的最简单方法是:

document.querySelectorAll('li').className = "corgitype"

querySelectorAll返回一个节点列表,它们没有类名或类列表属性,所以不必麻烦设置它们。您需要做的是遍历列表并单独设置类。这必须是重复的。值得注意的是,节点列表接口现在有一个节点列表,但可能缺少支持。@RobG-这很有趣-很乏味必须为这些查询执行fro循环-将进行调查。谢谢您还可以执行Array.fromdocument.querySelectorAll…forEach…但要键入的内容要多得多。;-请参阅。
document.querySelectorAll('li').className = "corgitype"
$('.bearname').addClass('corgitype').removeClass('bearname');
<html>
<head>
<style>
.classa {
color:red;
}
.classb {
color:blue;
}
</style>

<script>
function change() {
    var list = document.getElementsByTagName("li");
    for (var i=0; i<list.length; i++) {
    var el = list[i];
    el.classList.remove('classa') ;
    el.classList.add('classb') ;
    }
}
</script>
</head>

<body>
<li class="classa">aaa</li>
<li class="classa">bbb</li>
<button type="button" onclick="change();">change</button>
</body>

</html>