jquery - 单击链接将当前类添加到 div

标签 jquery html css

单击父链接时,将当前类添加到 .navimg div(li 旁边)的最佳方法是什么?

HTML:

<div id="navbox">    
    <ul id="navigation">
        <li id="home"><a href="#">HOME</a></li>                               <div id="imghome" class="navimg current"></div>
        <li id="corp_gov"><a href="#">CORPORATE <br /> GOVERNANCE</a></li>    <div id="imggov" class="navimg"></div>
        <li id="board"><a href="#">BOARD &amp; <br /> DIRECTORS</a></li>      <div id="imgboard" class="navimg"></div>
        <li id="permit"><a href="#">PERMIT <br /> DETAILS</a></li>            <div id="imgpermit" class="navimg"></div>
        <li id="corp_dir"><a href="#">CORPORATE <br /> DIRECTORY</a></li>     <div id="imgdir" class="navimg"></div>
    <li id="contact"><a href="#">CONTACT</a></li>                             <div id="imgcontact" class="navimg"></div>
</ul>
</div>

我已经尝试使用我在此处的另一个问题中发现的这个使用一堆变体,但它现在不起作用:

jQuery

$(document).ready(function() {          
    $("#navbox ul li a").click(function(e) {
        $(".current").removeClass("current");
        $(this).nextAll("div.navimg").first().addClass("current");
});

这是最好的使用方法还是您有什么建议? 我是否必须为每个链接创建一个新功能,或者像这样的功能可以对所有链接都起作用吗?

我也试过这个来尝试专门针对每个链接,但这也没有用:

$("li#home a").click(function(e) {
    $(".current").removeClass("current");
    $("#imghome").addClass("current");

谢谢大家

编辑: 我制作了一个 jsFiddle 来展示发生了什么: http://jsfiddle.net/Amp3rsand/vGTpW/2/

最佳答案

你忘记添加 .parent()

jsFiddle

$("#navbox ul li a").click(function (e) {
   $(".current").removeClass("current");
   $(this).parent().next("div.navimg").addClass("current");
});

关于jquery - 单击链接将当前类添加到 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18200197/

相关文章:

javascript - 使用正则表达式将最后一个逗号分隔值替换为另一个值

jquery - 使用 jQuery 的 .html() 方法丢失结束 img 标签

javascript - 使用 jquery 附加一个完整的 div 及其所有元素

javascript - JQuery - 相对于按钮定位弹出窗口

html - 将下拉菜单的边从右更改为左

html - Bootstrap 3 - 在每个网格列之后打印布局和中断

javascript - 为什么选择 MDC 选择 :change is not working with javascript for material design

jquery - 非常简单的函数上的无效或意外标记

javascript - .innerHTML 不会在 div 内打印任何内容

javascript - 类似于 Javascript 中 move_uploaded_file() 的函数