我有一个同级的<divs>
列表。每个<li>
内都有两个<divs>
。当用户将鼠标悬停在另一个<div>
上时,我想隐藏一个<div>
。
我遇到的问题是,当我使用以下代码时,当我将鼠标悬停在具有“.div_1”类的任何<div>
上时,隐藏了每个<div>
类“.div_2”。
我想要它只有当用户将鼠标悬停在特定<div>
<li>
我无法更改标记或类,并且想知道如何实现这一目标。我可以将$(this)
与“.div_2”结合使用吗?
<li>
<div class="div_1"></div>
<div class="div_2"></div>
</li>
<li>
<div class="div_1"></div>
<div class="div_2"></div>
</li>
...
$(document).ready(function(){
// MEDIA GALLERY HOVER //
$(".div_1").hover(
function () { $(".div_2").hide(); },
function () { $(".div_2").show(); }
);
})
答案 0 :(得分:1)
$(document).ready(function(){
// MEDIA GALLERY HOVER //
$(".div_1").hover(
function () { $(this).siblings(".div_2").hide(); },
function () { $(this).siblings(".div_2").show(); }
);
})
或者让您缩短代码 - DEMO
$(document).ready(function(){
$(".div_1").on("mouseover mouseout", function() {
$(this).siblings(".div_2").toggle();
});
});
答案 1 :(得分:0)
您可以使用next
方法,该方法选择元素的下一个兄弟或siblings
方法。
$(".div_1").hover(
function () { $(this).next().hide(); },
function () { $(this).next().show(); }
);
答案 2 :(得分:0)
$('.div1').on('mouseover',function() { $(this).siblings('.div2').css('display','none'); });
答案 3 :(得分:0)
$(".div_1").hover(
function () { $(this).siblings(".div_2").hide(); },
function () { $(this).siblings(".div_2").show(); }
);