2017-06-19 141 views
0

我寫的代碼激活選項卡通過導航

<div class="tslcNav" role="navigation"> 
     <div class="navbar-collapse collapse"> 
      <ul class="nav navbar-nav"> 
       <li><a href="index.html">Home</a></li> 
       <li><a href="mngPost.html">Manage Portfolio</a></li> 
       <li><a href="riskAssesment.html">Risk Assessment</a></li> 
       <li><a href="security_setup.html">Security Setup</a></li> 
       <li><a href="dataOwner-riskAssessmentCompliance.html"style="visibility: hidden"></a></li> 
      </ul> 
     </div> 
    </div> 

而且

<script type="text/javascript"> 
    $(function() { 
     var pgurl = window.location.href.substr(window.location.href 
       .lastIndexOf("/") + 1); 
     $(".tslcNav ul li a").each(
       function() { 
        if(pgurl=="dataOwner-riskAssessmentCompliance.html") 
         $("riskAssesment.html").addClass("active"); 
        if ($(this).attr("href") == pgurl 
          || $(this).attr("href") == '') 
         $(this).closest('li').addClass("active"); 
       })   
    }); 

但它不激活的標籤,當我在dataOwner,riskAssessmentCompliance.html page.It當我在dataOwner-riskAssessmentCompliance.html頁面時,應激活標籤riskAssesment.html。此代碼有什麼問題?

回答

0

您正在使用錯誤的選擇,你應該使用href與頁面名稱一樣,

if(pgurl=="dataOwner-riskAssessmentCompliance.html") 
    $("[href='riskAssesment.html']").addClass("active"); 

我想你想active類添加到其父li

$(function() { 
    var pgurl = window.location.href.substr(window.location.href 
      .lastIndexOf("/") + 1); 
    $(".tslcNav ul li a").each(function() { 
     if(pgurl=="dataOwner-riskAssessmentCompliance.html"){ 
      $("[href='riskAssesment.html']").addClass("active") 
              .closest('li').addClass('active'); 
     } 
     else { 
      if ($(this).attr("href") == pgurl || $(this).attr('href') == '') 
       $(this).closest('li') // get the closest li 
         .addClass("active"); // add active class to that li 
     } 
    }); 
}); 
+0

相反最接近(李),我們可以用任何其他方法呢?因爲如果我直接在任何頁面使用URL的土地則沒有顯示出積極的標籤,否則它顯示。(意思是如果我運行該項目,它會顯示,但如果我輸入網址,那麼它不會顯示活動標籤) – Aishwarya

+0

我的答案中的代碼只有在您的網頁被刷新時纔有效。如果您想將錨點設置爲活動狀態,則對該事件使用相同的邏輯。 –

0

爲了添加您需要使用的類,使用href作爲

$("[href='riskAssesment.html']").addClass("active"); 
0

你需要這個

var pgurl = window.location.href.substr(window.location.href.lastIndexOf("/") + 1); 
$('ul.nav > li').removeClass("active"); 
$("a[href='"+pgurl+"']").parent().addClass("active"); 
0
$(document).ready(function() { 
      var url = window.location.toString().split('?'); 

      $('ul.nav li a').filter(function() { 
       if (this.href != '') { 
        if (this.href == url[0]) { 
         $(this).parent().addClass('active'); 
        } 
       } 
      }); 
     }); 

我希望它可以幫助你。