JQuery不会选择同级元素

JQuery不会选择同级元素,jquery,html,css,Jquery,Html,Css,使用以下代码,我希望用户单击li div ul li a中的标记 默认情况下,第一个标记有一个类“on”。当单击标记时,代码应该将class'on'添加到'this'并从所有其他同级移除class'on'。 addClass'on'可以工作,但是$this.sibbins.removeClass'on'根本不能工作 var menu01_list = $(".profile_menu01 ul li > a"); menu01_list.click(function(){ $(thi

使用以下代码,我希望用户单击li div ul li a中的标记 默认情况下,第一个标记有一个类“on”。当单击标记时,代码应该将class'on'添加到'this'并从所有其他同级移除class'on'。 addClass'on'可以工作,但是$this.sibbins.removeClass'on'根本不能工作

var menu01_list = $(".profile_menu01 ul li > a");

menu01_list.click(function(){
  $(this).siblings().removeClass('on');
  $(this).addClass('on');
});
html代码:

<div class="profile_menu01">
    <ul>
        <li><a class="btn_my_pick on" href="#">My Pick</a></li>
        <li><a class="btn_my_pickpot" href="#">3<span class="alert_num"></span>My Picpot</a></li>
        <li><a class="btn_my_review" href="#">My ReView</a></li>
        <li><a class="btn_my_photos" href="#">My Photos</a></li>
    </ul>
</div>
根据您的代码.profile\u menu01 ul li>a,标签没有兄弟姐妹。使用以下代码段删除类上的

例如:

var menu01_list=$.profile_menu01 ul li>a; 菜单01\u list.clickfunction{ $this.closestul.finda.on.removeClass'on'; $this.addClass'on'; }; .在{ 背景:黄色; } 根据您的代码.profile\u menu01 ul li>a,标签没有兄弟姐妹。使用以下代码段删除类上的

例如:

var menu01_list=$.profile_menu01 ul li>a; 菜单01\u list.clickfunction{ $this.closestul.finda.on.removeClass'on'; $this.addClass'on'; }; .在{ 背景:黄色; }
您正在查看元素的同级-由于它们包含在中,因此没有同级。在检查同级之前,必须上下移动一个级别:

menu01_list.click(function(){
   $(this).parent().siblings().children().removeClass('on');
   $(this).addClass('on');
});
或者,您可以在li上运行该功能:

var menu01_list = $(".profile_menu01 ul li");

menu01_list.click(function(){
   $(this).siblings().children().removeClass('on');
   $(this).children().addClass('on');
});

您正在查看元素的同级-由于它们包含在中,因此没有同级。在检查同级之前,必须上下移动一个级别:

menu01_list.click(function(){
   $(this).parent().siblings().children().removeClass('on');
   $(this).addClass('on');
});
或者,您可以在li上运行该功能:

var menu01_list = $(".profile_menu01 ul li");

menu01_list.click(function(){
   $(this).siblings().children().removeClass('on');
   $(this).children().addClass('on');
});

您在下面的脚本中犯了一个小错误

var menu01_list = $(".profile_menu01 ul li > a");

    menu01_list.click(function(){
       $(this).siblings().removeClass('on');
       $(this).addClass('on');
    });
在上面的代码中,您试图从锚定标记中删除类,因为这些锚定标记由父元素分隔,所以锚定标记不是同级元素

尝试下面的脚本来解决您的问题


您在下面的脚本中犯了一个小错误

var menu01_list = $(".profile_menu01 ul li > a");

    menu01_list.click(function(){
       $(this).siblings().removeClass('on');
       $(this).addClass('on');
    });
在上面的代码中,您试图从锚定标记中删除类,因为这些锚定标记由父元素分隔,所以锚定标记不是同级元素

尝试下面的脚本来解决您的问题


您是否有多个配置文件?菜单01 div中有ul li a?或者存在单个配置文件\u menu01 div?只有一个配置文件\u menu01 div内部嵌套有ul li a。是否有多个配置文件\u menu01 div中包含ul li a?或者存在单个profile\u menu01 div?只有一个profile\u menu01 div内部嵌套有ul li a。