激活选项卡通过导航
问题描述:
我写的代码激活选项卡通过导航
<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
}
});
});
答
为了添加您需要使用的类,使用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');
}
}
});
});
我希望它可以帮助你。
相反最接近(李),我们可以用任何其他方法呢?因为如果我直接在任何页面使用URL的土地则没有显示出积极的标签,否则它显示。(意思是如果我运行该项目,它会显示,但如果我输入网址,那么它不会显示活动标签) – Aishwarya
我的答案中的代码只有在您的网页被刷新时才有效。如果您想将锚点设置为活动状态,则对该事件使用相同的逻辑。 –