1

我目前遇到了 getElementsByClassName 属性的问题。我有一个显示和隐藏功能,当您将鼠标悬停在产品上时会显示一个按钮单击此处我已使用 getElementById 属性启用了此功能,但是由于我想使用类复制此功能是更好的做法。下面的代码是使用 ClassName JS 函数解决此问题的正确方法吗?

我也一直在阅读 IE8 不支持 getElementsByClassName 是真的吗?有没有办法解决这个问题?

  <script>    
  function show(viewProductBtn){
document.getElementByClassName(viewProductBtn).style.visibility = "visible";
}

function hide(viewProductBtn) {
document.getElementByClassName(viewProductBtn).style.visibility = "hidden";
}
</script>

<!--HTML-->
<div class="product-shot-bg" onMouseOver="show('viewProductBtn')"      onMouseOut="hide('viewProductBtn')">
        <a href="#" class="viewProductBtn"></a>

目前我已将我的开发站点切换回 getByID 以演示转换应该如何工作..

4

1 回答 1

6

getElementsByClassName

“元素s ”的复数形式。意思是,该函数返回一个数组(实际上是一个 NodeList),因此您需要遍历数组,或者如果您只想要第一个元素,则需要获取第一个元素。

另请参阅document.querySelector("."+viewProductBtn)一个元素、document.querySelectorAll("."+viewProductBtn)多个元素,或考虑使用 ID 和getElementById.

于 2012-09-11T20:55:39.727 回答