2017-06-28 11 views
0

親アイテムにコンパスが取り付けられているアイテムをクリックすると、そのアイテムが回転します。これは、親自体で使用されているときはうまく動作しますが、一部の項目にはサブメニューがあります。クリックするとサブメニューが表示されます。

だから私はこれをこのように解決しようとしています。

$('#menu-main-menu li.submenu li').click(function(event) { 
    event.preventDefault() 
    $('#menu-main-menu li a').addClass('disabled'); 
    $(this).closest('.menu-item-has-children a .compass').addClass('rotate-compass'); 

    link_href = this.href; 

    setTimeout(function() {    
     $('body').fadeOut(1000, function() { 
      window.location.href = link_href; 
     }); 
    },500); 

}); 

私が親リスト項目のdivに回転を追加しようとする回転部分です。私は親と一緒に試しましたが、運がないので、2番目の考えはそれを目標にするのに最も近い機能を使用することでしたが、もう一度幸運はありません。私はここで間違って何をしていますか?私はプリントアウト持っていけないので、私は、HTMLの構造を追加-edit-

enter image description here

単にそのWPによって生成され、そのトリッキーなので。

+0

あなたのhtml構造も表示してください。しかし、私の推測はあなたの最も近いセレクタが間違っています。 – Pete

答えて

1

リンクと.compassは、.menu-item-has-childrenの子であると仮定します。あなたは次の操作を実行する必要があります:

$(this).closest('.menu-item-has-children').find('a .compass').addClass('rotate-compass'); 

基本的には祖先を見つけて、それが別のクエリとして子孫だ見つけるためにドリルダウンする必要があります。

+0

Jepはそのトリックを行いました。私の問題は実際には私の元のコードの新しいインスタンスを作ったが、古いコードも考慮に入れていたので、クリックすると古いコードが使用された。 ulにサブメニューが添付されているかどうかを確認するためにif else文を作成し、元のコードに追加しなければなりませんでした。それから私はアクション:)を整理することができました:)魅力のように今働く – Dorvalla

関連する問題