我第一次写得很糟糕。抱歉。订正:
每个元素都有一个ID,但我事先不知道它会是什么。我需要的是将鼠标悬停在每个div上以仅替换其自己的列表项,即。将鼠标悬停在#1
上会#1 .second
替换#1 .first
,但不会#2 .second
替换#2 .first
。
这里有我影响两个div的内容:
<div class="hover" id="1">
<ul>
<li class="first">First</li>
<li class="second">Second</li>
</ul>
</div>
<div class="hover" id="2">
<ul>
<li class="first">First</li>
<li class="second">Second</li>
</ul>
</div>
$(document).ready(function() {
$(".hover").mouseenter(function() {
$(".second").show();
$(".first").hide();
}).mouseleave(function() {
$(".second").hide();
$(".first").show();
});
});
.second {display:none;}
答案 0 :(得分:1)
试试这个:
定位每个span1
课程并显示/隐藏其下一个span2
课程
$(document).ready(function() {
$("div .span1").mouseenter(function() {
$(this).hide().next('.span2').show();
}).mouseleave(function() {
$(this).show().next('.span2').hide();
});
});
<强>更新强>
根据您修改后的帖子,您可以执行以下操作:
<强> DEMO 强>
$(document).ready(function() {
$(".hover").mouseenter(function() {
$(this).find(".second,.first").toggle();
}).mouseleave(function() {
$(this).find(".second,.first").toggle();
});
});
你只是缺少目标你正在做的元素
进行定位来完成hover
可以通过$(this)
答案 1 :(得分:0)
这是你想要的吗?
$(document).ready(function() {
$(".hover").mouseenter(function() {
$(this).find(".second").show();
$(this).find(".first").hide();
}).mouseleave(function() {
$(this).find(".second").hide();
$(this).find(".first").show();
});
});