正确的函数名是getElementsByClassName
,注意复数形式。
document.getElementsByClassName("example")[0].style.width = "50%";
//Just an example for how to set the property for the first element
//we have to iterate over that collection and set property one by one
此外,它会产生一个node list
,所以我们必须遍历它来设置properties
它。
var elems = document.getElementsByClassName("example");
for(var i=0;i<elems.length;i++){
elems[i].style.width = "50%";
}
另请注意,node list
不是array
。它的数组像对象。人们通常把它们看作一个数组,他们会尝试使用它的数组函数。这会导致错误。如果你想把它转换成一个数组,那么在EC6中有一个方便的函数,我们可以使用它。
var arr = Array.from(document.getElementsByClassName("example"));
上面的代码将变换node list
到array
。
非常感谢你,你是正确的谢谢你谢谢你!我会在6分钟限制通过后给你答案 – brigitte18
@ brigitte18请接受答案,如果它是你正在寻找的 –