2017-10-20 12 views
-3

私のjQuery関数クリックした後にリンクの擬似クラスを変更する必要があります。開かれたときにアクティブになり、サブページが開きます。jQuery:クリックしてリンクをアクティブにすると元の値に戻ります

HTML:

<ul class="menu uk-nav-offcanvas"> 
<li class="menu-item-has-children uk-open"> 
<a href="#">ITEM</a></li></ul> 

私のjqueryの:

(function($) { 
     $('.uk-nav-offcanvas .menu-item-has-children > a').attr('href', '#'); 
     if($('li.menu-item-has-children').hasClass('uk-open')){ 
     $('.uk-nav-offcanvas .menu-item-has-children > a').attr('#', 'href'); 
      } 
     })(jQuery); 
+0

「Attr」とは何ですか?あなたのタイプミスを修正してください – epascarello

+0

HTMLも投稿できますか? – tommyO

答えて

2

オリジナルのものとしてそのままの値を保持するには、変数の元の値を格納することができますし、その後

それを設定することができます
var attrValue = $('.uk-nav-offcanvas .menu-item-has-children > a').attr('href'); 
$('.uk-nav-offcanvas .menu-item-has-children > a').attr('href', '#'); 

if($('li.menu-item-has-children').hasClass('uk-open')){ 
    $('.uk-nav-offcanvas .menu-item-has-children > a').attr('href', attrValue); 
+0

いいですが属性がデフォルトに戻りません。私は私の質問を更新します。 – Lutty

+0

デフォルト値は、芸術作品を変更する前にそこにあった値を意味しますか? – void

+0

正確に.attr( '#'、 'href'); – Lutty

関連する問題