【发布时间】:2011-09-16 10:22:19
【问题描述】:
我有 2 个 div,定义如下:
<div id="feedsInfo"></div>
<div id="feeds">
<ul>
<li><p id="a">A</p></li>
<li><p id="b">B</p></li>
<li><p id="c">C</p></li>
</ul>
</div>
我添加悬停事件如下:
$("#feeds p").filter(function(){
return ($(this).attr('id') == 'a' ||
$(this).attr('id') == 'b' ||
$(this).attr('id') == 'c'
)})
.hover(function(e){
$(this).css('background-color','red');
$('#feedsInfo').css('background-color','red');
<< dynamically append <a href> tags to div id='feedsInfo' >>
},function(e){
$("#feedsInfo").children().remove();
$(this).css('background-color','blue');
$('#feedsInfo').css('background-color','blue');
}):
问题是我仍然可以在 div id='feedsInfo' 中看到链接标签,如果我只是在列表“A”“B”“C”上挥手(鼠标现在位于其他地方。简而言之,它应该会触发mouseleave 事件),即使它们在 mouseenter 或 mouseleave 事件中将颜色从红色变为蓝色,从蓝色变为红色。
请解释一下当我只是浏览列表并且鼠标没有悬停在列表'A''B''C'上时如何从div中删除链接标签
【问题讨论】: