我在 JavaScript 中有函数。我想用它来隐藏具有相同类的所有元素,但它不起作用。
function perfumes($id) {
document.getElementsByClassName("perfumeDetails").style.display = "none";
document.getElementsByClassName("perfumeDetails").style.top = "100%";
document.getElementById($id).style.display = "block";
document.getElementById($id).style.top = "50%";
}
检查元素错误:Uncaught TypeError: Cannot set property display of undefined
在 css 中,我有 .perfumeDetails{display:none;}
。
你能帮帮我吗?
最佳答案
您必须遍历它们并分别设置样式。
function perfumes($id) {
var elems = document.getElementsByClassName('perfumeDetails');
for (i = 0; i < elems.length; i++) {
elems[i].style.display = 'none';
elems[i].style.top = '100%';
}
document.getElementById($id).style.display = 'block';
document.getElementById($id).style.top = '50%';
}
关于JavaScript 具有相同类的所有元素都不会显示无,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27214330/