2017-05-03 12 views
0

웹 사이트의 마스터 페이지에 메뉴가 있으며 각 페이지에서 선택한 메뉴를 강조하고 싶습니다. 페이지가 열리는 메뉴를 얻으려면 메뉴 항목을 반복해야하지만 일부 페이지에서는 각 기능이 루프에 들어 가지 않습니다 !!. 각각 jquery에서 작동하지 않습니다.

왜?

$(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

내가 당신을 위해 만든 스 니펫을 업데이트하십시오 항목을 찾기 위해 href 속성을 사용하여 루프를 필요로하고 그것에 대한 활성 클래스를 전환하지 않습니다 [mcve] – mplungjan

+0

에서 문제를 나타 내기 위해'each' 루프를 입력하고 코드를 사용하여'console.log ('test'); 루프 안에 넣으면됩니다. – Edwin

답변

0

당신은

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

감사합니다 .. 작동합니다! –