激活选项卡通过导航

激活选项卡通过导航

问题描述:

我写的代码激活选项卡通过导航

<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。此代码有什么问题?

您正在使用错误的选择,你应该使用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

我的答案中的代码只有在您的网页被刷新时才有效。如果您想将锚点设置为活动状态,则对该事件使用相同的逻辑。 –

为了添加您需要使用的类,使用href作为

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

你需要这个

var pgurl = window.location.href.substr(window.location.href.lastIndexOf("/") + 1); 
$('ul.nav > li').removeClass("active"); 
$("a[href='"+pgurl+"']").parent().addClass("active"); 

$(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'); 
        } 
       } 
      }); 
     }); 

我希望它可以帮助你。