向元素添加类元素时出现问题

时间:2009-09-04 05:24:35

标签: jquery class add

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

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

<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>

从“home”li元素中删除“selected”类,但不将其添加到“myForms”li元素中。

1 个答案:

答案 0 :(得分: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>