这是我在这里的第一个问题,我被困住了,并没有找到我想要的答案。我有这种情况,我希望.addClass('active')
导航链接。如果window.location.pathname
的扩展名为.html
或.php
,则效果很好。
我有"很好"通过.htaccess的URL,它隐藏了文件的扩展名,如下所示:
http://mydomain/biography代替http://mydomain/biography.php
所以这是我写的代码 HTML
<nav>
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="biography.php">Bio</a></li>
<li><a href="somelink.php">Something</a></li>
<li><a href="contact.php">Contact</a></li>
<ul>
</nav>
的jQuery
$(document).ready(function() {
$("nav [href]").each(function() {
if (this.href == window.location.href) {
$(this).addClass("active");
}
});
});
我认为.htaccess代码对于这种情况不是必需的
有没有办法解析this.href
并排除文件扩展名(在我的情况下是.php)还是有更好的方法来解决这个问题?
提前致谢! = d
答案 0 :(得分:0)
Phillip100 - 谢谢你,你用这个帮我,也许不是直接的,但是你的代码迫使我从其他角度来看,我没有替换,我只是添加了扩展名! = D
对我有用的代码是:
$(document).ready(function() {
var location = window.location.href + '.php';
$("nav [href]").each(function() {
if (this.href == location) {
$(this).addClass("active");
}
我尝试通过路径名使其工作,但是href也有帮助,通过这段代码,我得到了我想要的东西,感谢所有帮助过的人! = d
答案 1 :(得分:0)
// 100%的工作量
$("nav [href]").each(function() {
var pathname = window.location.pathname;
var plink = this.href.search(pathname);
if(plink > 0){
$(this).addClass("current");
}
});