问题
简而言之。
a)mysite.tld(没有任何反应)
b)mysite.tld / somepage(.active is added)
正如你所看到的,b)将代码添加.active类,但如果url是a)代码将忽略
然而,在主页上,我不希望href可以说 href =" index.html" 或其他什么。相反,它只是 href =" mysite.tld"
守则
<script type="text/javascript">
$("#woo_trigger").click(function(){
$("div#sidebar").hide();
答案 0 :(得分:0)
您是否尝试过记录变量以查看页面加载后返回的内容?如果您使用的是chrome,则可以打开开发人员控制台并查看记录的内容。或者,您可以使用console.log()
alert()
var path = location.pathname.split('?')[0];
var start = path.lastIndexOf('/') + 1;
var activeLink = path.substr(start);
consolel.log(path);
console.log(start);
console.log(activeLink);
var parent = $('a[href*="' + activeLink + '"]').parent('li');
// These two lines check if you have dropdowns in your nav-bar
if (parent.closest('ul').hasClass('dropdown-menu')) {
parent.parents('.dropdown').addClass('active');
}
parent.addClass('active');
一旦你确定正在提取适当的变量,id建议将链接缩小到它可能位于的标记或类,并使用带有标记($)的结尾而不是包含(*)
var parent = $('ul li a[href$="' + activeLink + '"]').parent();
进行调试
答案 1 :(得分:0)
我认为这只是一个临时解决方案,因为location.href
会返回当前的URI。
if(location.href == //example.something) {
// add active class here
} else {
// your code here
}