0

我正在尝试从元素中删除类属性并将类添加到另一个元素。我成功删除了该类,但在将该类附加到另一个元素时遇到了问题。

当我点击链接“查看全部”时,

<a class="code_link" id="viewAllMyForms" href="#" >View All</a>

调用此函数。我想从 li 元素“home”中删除“selected”类并将其添加到 myForms 的 li 元素中。

$('#viewAllMyForms').click(function(){

    $('#tabber_module').find(".selected").removeClass();
    $('#tabber_module #myForms li').addClass("selected");

});

<div class="tabber_module" id="tabber_module">
     <ul class="horizontal_navigation child2">
         <li class="first some_li selected" id="home"> 
             <a href="#" id="home">Home</a>
         </li>
         <li class="some_li" id="notifications"> 
             <a href="#" id="notifications">Notifications</a>
         </li>         
         <li class="some_li" id="myForms"> 
             <a href="#" id="myForms" >My Forms</a>
         </li>              
         <li class="some_li" id="reviewForms"> 
             <a href="#" id="reviewForms">Forms For My Review</a>
         </li>
         <li class="some_li" id="otherForms"> 
             <a href="#" id="otherForms">Other Forms</a>
         </li>
     </ul>
</div>

“selected”类已从“home”li 元素中删除,但未添加到“myForms”li 元素中。

4

1 回答 1

4

你的 LI 元素上有 id,你只需要使用#id选择器:

$('#viewAllMyForms').click(function(){
    $("#tabber_module .selected").removeClass("selected");
    $("#myForms").addClass("selected");
});

注意: DOM 元素的 id 属性应该是唯一的标识符,你复制了 LI 和 A 元素的 id,你应该在一个文档中只使用一次 ID。

我会将您的标记重写为:

<div class="tabber_module" id="tabber_module">
     <ul class="horizontal_navigation child2">
         <li class="first some_li selected" id="home"> 
             <a href="#">Home</a>
         </li>
         <li class="some_li" id="notifications"> 
             <a href="#">Notifications</a>
         </li>         
         <li class="some_li" id="myForms"> 
             <a href="#">My Forms</a>
         </li>              
         <li class="some_li" id="reviewForms"> 
             <a href="#">Forms For My Review</a>
         </li>
         <li class="some_li" id="otherForms"> 
             <a href="#">Other Forms</a>
         </li>
     </ul>
</div>

请注意,我从锚元素中删除了重复的 ID 属性,但如果您想选择一个锚,您可以不使用特定 ID,例如:

$('#notifications a') // selects the element <a href="#">Notifications</a>
于 2009-09-04T05:29:09.777 回答