2011-07-11 7 views
1

私はjoomla 1.6.4を使用してインストールし、自分のテーマにカスタムCSS/javascriptドロップダウンメニューを持っています。メニュー(ul)の主なルート要素はidが 'topnav'です。ユーザーが(li)メニュー項目の1つをクリックすると、classに変更され、選択されたものとして表示され、一連のサブメニュー(スパンに埋め込まれています)がドロップされます。これを行う前に、反復を使用して、このクラスを他のすべてのli要素から削除します。これは、Joomlaではドロップダウンメニューが消えないように、スタイルが変更されていないかのように、最小限のHTMLページでテストするとうまくいきます。この李子がクリックされたときに、コードは間違いなく呼ばなっている:Joomlaのjavascriptのcssクラスが更新されない

function SetSelected(id) 
{ 
    var obj = document.getElementById('topnav'); 
    for (var count = 0; count < obj.childNodes.length; count++) 
    { 
     if(obj.childNodes[count].nodeName.toLowerCase() == 'li') 
     { 
      $(obj.childNodes[count]).removeClass('clickedstate'); 
     } 
    } 
    $(id).addClass('clickedstate'); 
    return; 
} 

jQueryのhasClass方法によれば(と私のステッピングコードを通じて)クラスを削除なっているかのように表示されますが、要素はしていないようです更新。ジョムラが何とかこれを妨害することができますか?

私を狂人にする! おかげ

答えて

0

は、なぜあなたは

$(obj).children().each(function (index) { 
     if ($(this).nodeName.toLowerCase() == 'li') 
     { 
      $(this).removeClass('clickedstate'); 
     } 
    }); 
+0

感謝を使用しようといけません!私は実際にmootoolsを使用していましたので、これを少し修正しましたが、何らかの理由で今動作しています! – GracelessROB

関連する問題