如何更改/删除同级方法

How to change/remove the siblings method

本文关键字:方法 删除 何更改      更新时间:2023-09-26

我在搜索其他问题时获得了这段代码,但当我试图将其适应我的需求时,我遇到了问题。由于我的链接分布在两个父div上,它无法与其他兄弟姐妹正确交互。

    var make_button_active = function () {
    //Get item siblings
    var siblings = ($(this).siblings());
    //Remove active class on all buttons
    siblings.each(function (index) {
        $(this).removeClass('active');
    });

    //Add the clicked button class
    $(this).addClass('active');
}
$(document).ready(function () {
    $(".clicked").click(make_button_active);
});

这是Fiddle

例如,如果单击"链接1",然后单击"链接6",则"链接6也高亮显示时,"链接1》将保持高亮显示。

链路1-3相互作用,链路4-6也相互作用,但分别作用。我该如何让他们互相交谈,并在开/关时突出显示?

更新您的Fiddle。最初,您只选择兄弟姐妹(意味着所有兄弟姐妹都在一个父代下)。但是您需要跨父对象进行选择,因此siblings不起作用。在这种情况下,您必须使用一个通用标识符.clicked

只需更改以下行:

var siblings = ($(this).siblings());

至:

var siblings = $('.clicked');