jQuery Accordion 将类添加到当前 Href 及其父 Href

Posted

技术标签:

【中文标题】jQuery Accordion 将类添加到当前 Href 及其父 Href【英文标题】:jQuery Accordion Add Class to Current Href and Its Parent Href 【发布时间】:2014-05-01 03:12:18 【问题描述】:

在手风琴菜单中单击 href 时,我在向两个元素添加类时遇到问题。删除“当前”类的实例,将“当前”类添加到单击的子菜单项及其父项。我已经让手风琴工作了,只要我单击父菜单项并出现子菜单。在这个例子中,我的意思是我点击“第二个”,然后出现“项目 2.1”和“项目 2.1”。单击“Third”和“Second”,其子项被隐藏,Third 及其子项显示。我想要做的是,一旦单击一个孩子,将“当前”添加到该子 href 元素及其父 href (例如单击 href ID“two-one”并将“current”类添加到该元素以及到它的 "nav-subtitle" ID) 并从当前 href 中删除 "current" 类。

这是 html:-

        <ul id="navigation">

            <li>
                <a href="index.html" class="nav-subtitle current">
                    Home
                </a>       
            </li>

            <li> 
                <a href="#" class="nav-subtitle">
                Second
                </a>
                <ul>
                    <li><a href="#" id="two-one">Item 2.1</a></li>
                    <li><a href="#" id="two-two">Item 2.2</a></li>
                </ul>
            </li>

            <li>
                <a href="#" class="nav-subtitle">
                    Third
                </a>
                <ul>
                    <li><a href="#" id="three-one">Item 3.1</a></li>
                    <li><a href="#" id="three-two">Item 3.2</a></li>
                    <li><a href="#" id="three-three">Item 3.3</a></li>                      
                </ul>
            </li>
        </ul>

我尝试了以下 jQuery,但“父”元素最终将“当前”类添加到 li 元素,而不是带有类 nav-subtitle 的 href。如果我指定“nav-subtitle”ID,整个函数就会失败:-

$("#two-one").click(function()
        $( "#nav-subtitle" ).removeClass("current");
        $(this).parent().parent().parent("#nav-subtitle").addClass("current");   
        $(this).addClass("current");
);

【问题讨论】:

【参考方案1】:

我相信这段代码可以满足我的需要。

$("#two-one").click(function()
        $('a.current').removeClass('current');
        $(this).parent().parent().siblings().addClass('current');
        $(this).addClass('current');
);

从具有“current”类的元素中删除“current”类,将“current”添加到父 href,最后将“current”类添加到单击的 href。

【讨论】:

以上是关于jQuery Accordion 将类添加到当前 Href 及其父 Href的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Accordion - 需要当前选定内容部分的索引

javascript 使用jQuery将类添加到Object

使用 jQuery 将类添加到 DOM 对象数组的正确方法是啥?

如何将类添加到 jquery.datatables 列?

jQuery:如果孩子有类,则将类/css添加到父类

如果链接包含特定文本,则jQuery将类添加到href