2017-05-03 2 views
0

J'ai un menu sur la page d'accueil dans le site Web et je veux mettre en évidence le menu sélectionné sur chaque page. J'ai besoin de faire défiler les éléments du menu pour obtenir le menu dont la page est ouverte, mais dans certaines pages, chaque fonction ne rentrerait pas dans la boucle !!.que ne fonctionne pas dans jquery parfois

Pourquoi?

$(document).ready(function() { 
 
    debugger; 
 
    var url = window.location; 
 
    var oldURL = document.referrer; 
 
    $('.navbar-collapse ul.nav li a').each(function() { 
 

 
    if (this.href == oldURL) { 
 
     $('.navbar-collapse .nav').find('.active').removeClass('active'); 
 
     $(this).parent().addClass('active'); 
 
    } 
 

 
    if (this.href == url) { 
 
     $('.navbar-collapse .nav').find('.active').removeClass('active'); 
 
     $(this).parent().addClass('active'); 
 
     return false; 
 
    } 
 

 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
 
    <ul class="nav navbar-nav"> 
 
    <li class="dropdown"> 
 
     <a href="../Forms/DefaultMain.aspx">صفحه اصلی </a> 
 
    </li> 
 
    <li class="dropdown"> 
 
     <a href="#" class="dropdown-toggle">rr<b class="caret"></b></a> 
 
     <ul class="dropdown-menu"> 
 
     <li><a href="../Forms/HotelProduct.aspx">tt</a></li> 
 
     <li><a href="../Forms/CommunicationProduct.aspx">ll</a></li> 
 
     </ul> 
 
    </li> 
 
    <li class="dropdown"> 
 
     <a href="../Forms/OurCustomers.aspx" class="dropdown-toggle">mm</a> 
 
    </li> 
 

 
    <li class="dropdown"> 
 
     <a href="../Forms/ContactUs.aspx" class="dropdown-toggle">jj </a> 
 
    </li> 
 
    </ul> 
 
</div>

+0

S'il vous plaît mettre à jour l'extrait que je vous fait pour pour exposer le problème dans un [mcve] – mplungjan

+0

mais il entre dans votre boucle 'each', utilisez simplement votre code et mettez dans la boucle' console.log ('test'); 'et vous verrez. – Edwin

Répondre

0

Vous n'avez pas besoin d'une boucle, utilisez l'attribut href pour trouver votre article et basculer la classe active pour elle

$('.navbar-collapse .nav .active').removeClass('active'); 
$('.navbar-collapse ul.nav li a[href="'+url+'"]').parent().addClass('active'); 
+0

merci .. ça marche! –