我是JavaScript的初学者,我无法理解为什么在这个简单的代码中出现在控制台中 color.setAttribute不是函数
<style>
.red {color:red;}
.blue { color: blue;}
</style>
</head>
<body>
<p class="red">Hello World</p>
<script>
var color = document.getElementsByClassName("red");
color.setAttribute("class","blue");
</script>
&#13;
提前致谢,对不起,如果我的问题是愚蠢的。
答案 0 :(得分:8)
document.getElementsByClassName("red")
返回一个像对象一样的dom对象。所以你应该写下面的内容。
var color=document.getElementsByClassName("red")[0];
color.setAttribute("class","blue");
答案 1 :(得分:3)
document.getElementsByClassName
返回NodeList
。您已使用索引从节点列表中选择节点。
var color = document.getElementsByClassName("red")[0]; // the first element