gpt4 book ai didi

javascript - Jquery 如果 hasClass 然后 addClass

转载 作者:搜寻专家 更新时间:2023-10-31 21:57:48 24 4
gpt4 key购买 nike

我知道我可以做到,我只是迷失在层次结构中,需要另一双眼睛来关注这个。

这是正在使用的结构:

<div class="nav-column">
<ul>
<li><a href="#">Link 01</a>
<div>
<ul>
<li><a href="#">Sublink 01</a></li>
<li><a href="#">Sublink 02</a></li>
<li><a href="#">Sublink 03</a></li>
</ul>
</div>
</li>
<li><a href="#">Link 02</a></li>
<li><a href="#">Link 03</a></li>
</ul>
<div class="home"><h3>Underlying Div</h3></div>
</div>

我希望执行以下操作:当您将鼠标悬停在 .nav-column ul li a 上时,div.home 的可见性将关闭。当然会有多个 .nav-columns,所以我将其动态化。

我现在拥有的 jQuery 是:

if ($('.nav-column li').hasClass('active')){
$(this).parent('.nav-column').sibling('div.home').toggleClass("off");
}

不产生任何类添加到 div.home。我已经有一个悬停功能添加和删除类 '.active'.nav-column li


编辑编辑编辑


我发现我的代码有误,实际上正确的代码是 div.homediv.nav-column 之外

这是正确的层次结构:

<div class="wrapper">
<div class="nav-column">
<ul>
<li><a href="#">Link 01</a>
<div>
<ul>
<li><a href="#">Sublink 01</a></li>
<li><a href="#">Sublink 02</a></li>
<li><a href="#">Sublink 03</a></li>
</ul>
</div>
</li>
<li><a href="#">Link 02</a></li>
<li><a href="#">Link 03</a></li>
</ul>
</div>
<div class="home"><h3>Underlying Div</h3></div>
</div>

再一次……我很抱歉……你能感觉到我的理智水平在下降

最佳答案

想想这就是你想要的:

$('.nav-column li').each(function(){
if($(this).hasClass('active')) {
$(this).closest('.nav-column').siblings('div.home').toggleClass("off");
}
});

fiddle :

http://jsfiddle.net/Jf8mp/

你的错误:

.sibling('div.home') 错误,正确的方法名是.siblings()

如果条件不能确定谁是$(this),你使用了一个函数作为.each()

更新:

让它在悬停在 .nav-column ul li a 上工作:

$('.nav-column li').on('mouseenter','a',function(){
if($(this).closest('li').hasClass('active')) {
$(this).closest('.nav-column').siblings('div.home').toggleClass("off");
}
});

fiddle :

http://jsfiddle.net/Jf8mp/2/

关于javascript - Jquery 如果 hasClass 然后 addClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23809766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com