1

我有以下用于显示的代码Add to Cart onmouseover。如果只有 1 个类似 ID 的项目,它可以完美运行,但在某些情况下,product同一页面中可能会多次显示相同的项目,并且该Add to Cart按钮不会显示给当前对象,而是显示给element该特定对象的第一个ID

## Category A ##
<div onmouseover="document.getElementById('addtocart1').style.display='block'" onmouseout="document.getElementById('addtocart1').style.display='hidde'">

<span style="display:none;" id="addtocart1"></span>
          Product A
</div>

## Category B ##
<div onmouseover="document.getElementById('addtocart1').style.display='block'" onmouseout="document.getElementById('addtocart1').style.display='hidde'">

<span style="display:none;" id="addtocart1"></span>
       Product A
</div>

每当用户带走他/她时,我display:block该如何设置respective objectmouse

谢谢

4

2 回答 2

1

如对该问题的评论之一所述,元素 ID必须是唯一的。如果您希望所有对象都有共同点,请尝试为它们都赋予一个类,然后document.getElementsByClassName将返回一个包含所有具有该类的元素的数组。然后遍历该数组并执行您需要执行的任何操作。您还需要将所有这些都放在一个被调用的函数中onmouseoveronmouseout因为您将执行多行代码。

或者,如果您要使用JQuery之类的东西,您可以使用 CSS 选择器来获取类,然后,会将该函数应用于具有该类的所有元素。$('.className').mouseover(function)$('.className').mouseout(function)

于 2013-10-03T16:17:59.427 回答
1

首先,您复制 ID 将不起作用。但是下面的代码会起作用。Finlay 为什么不用 Jquery 很简单

onmouseover="this.children[0].style.display='block'" onmouseout="this.children[0].style.display='none'"

于 2013-10-03T16:23:32.850 回答