Jquery 仅悬停在最后一个元素
我有以下 html 结构:
<div id="123" class="test">
<div class="testMessage">Foo</div>
<div><div class="testDate">2010</div></div>
<div id="127" class="test">
<div class="testMessage">Bar</div>
<div><div class="testDate">2011</div></div>
</div>
</div>
和以下 JS 代码:
$(".test").live({
mouseenter:
function()
{
$(this).find(".testDate").show();
},
mouseleave:
function()
{
$(this).find(".testDate").hide();
}
});
问题是当鼠标指针位于 #127
时 #123
中的 .testDate
也会显示。我认为这是因为悬停适用于父元素。如何修复它?
谢谢!
I have following html structure:
<div id="123" class="test">
<div class="testMessage">Foo</div>
<div><div class="testDate">2010</div></div>
<div id="127" class="test">
<div class="testMessage">Bar</div>
<div><div class="testDate">2011</div></div>
</div>
</div>
And following JS code:
$(".test").live({
mouseenter:
function()
{
$(this).find(".testDate").show();
},
mouseleave:
function()
{
$(this).find(".testDate").hide();
}
});
The problem is that when mouse pointer is at #127
.testDate
in #123
also displayed. I think it's because hover works for parent element. How to fix it?
Thanx!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为这是因为你在另一个“.test”中有一个元素“.test”。如果你拆分它们,你的代码就可以工作。 这里是工作示例。
I think this is because you have one element '.test' inside another '.test'. If you split them, your code will work. Here is working example.