JavaScript所有具有相同类的元素都不会显示无

我有 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%";
}

Inspect元素错误:Uncaught TypeError:无法设置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%';
}
相关文章
相关标签/搜索