当我单击按钮时,我似乎无法使document.getElementsByClassName起作用。我可以让document.getElementById工作,但不能上课。 有人可以向我解释为什么下面的第一课不能正常工作吗?
result = Math.round(result * 1000) / 1000;
// are you sure you don't mean to include / 1000 inside the round?
result = result.toLocaleString('de-DE', { minimumFractionDigits: 2 });
...
我在html页面中设置了类:
document.getElementById('footer').style.background = 'rgba(189, 195, 199,1.0)';
document.getElementsByClassName('menulink').style.background = 'rgba(189, 195, 199,1.0)';
答案 0 :(得分:1)
getElementById返回单个元素,但getElementsByClassName()返回一个NodeList(注意getElementS上的's')。 这可行:
document.getElementsByClassName('menulink')[0].style.background = 'rgba(189, 195, 199,1.0)';
答案 1 :(得分:1)
返回具有全部子元素的所有子元素的类数组对象 给定的类名。
这是返回一个对象,而不仅仅是一个值。您必须以引用对象的任何属性的方式引用它们。
document.getElementsByClassName('className')["propertyName"].*action here*;
在你的情况下,这样的事情可能有效:
var targets = document.getElementsByClassName("menulink");
for (var i = 0; i < targets.length; i++) {
targets[i].style.background = "rgba(189, 195, 199,1.0)";
}
答案 2 :(得分:0)
getElementByClassName返回DOM元素列表。
您必须迭代到每个项目并需要设置样式,例如
var links = document.getElementsByClassName('menulink');
for(var i = 0; i < links.length; i++){
links[i].style.background = 'rgba(189, 195, 199,1.0)';
}