2017-10-20 8 views
-3

Ma fonction jQuery J'ai besoin de modifier les pseudo-classes de lien après l'avoir cliqué et il est actif et les sous-pages du menu sont ouvertes.jQuery: Retour à la valeur d'origine lorsque vous cliquez dessus et le lien est actif

HTML:

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

Mon 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

Qu'est-ce que «Attr'? Fixez votre faute de frappe – epascarello

+0

Pouvez-vous poster le HTML aussi? – tommyO

Répondre

2

Pour conserver la valeur intacte comme l'original, vous pouvez stocker la valeur d'origine dans une variable et vous pouvez alors régler plus tard

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

C'est bon mais l'attribut ne retourne pas par défaut. Je mets à jour ma question – Lutty

+0

Valeur par défaut signifie la valeur qui était là avant de changer l'attribut arttribute? – void

+0

exactement .attr ('#', 'href'); – Lutty