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 はドキュメント内で 1 回だけ使用する必要があります。

マークアップを次のように書き直します。

<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 に答える