var search_name = location.search;
if (search_name.search("cate_no=24") > 0) {
$(".cate_new a").addClass("active");
}
});
如果当前文档 url 是http://abc.com/list.html?cate_no=24,我想将“活动”类添加到 li a。
我搜索并找到了这些js代码,但它不起作用。这是错的吗?
var search_name = location.search;
if (search_name.search("cate_no=24") > 0) {
$(".cate_new a").addClass("active");
}
});
如果当前文档 url 是http://abc.com/list.html?cate_no=24,我想将“活动”类添加到 li a。
我搜索并找到了这些js代码,但它不起作用。这是错的吗?
这是不正确的。search()
如果找到匹配项,则返回匹配项的偏移位置,如果未找到匹配项,则返回-1。
当您检查是否cate_no=24
包含时,如果为真cate_no=24
,它将返回0 。
目前,您的条件检查是否search()
会返回> 0,这不是您想要的。
您应该做的是检查它是否大于> -1:
if (search_name.search("cate_no=24") > -1)
虽然,正如我在答案的第一个修订版中提到的那样,使用它会更好更快indexOf()
(search()
应该在处理正则表达式时使用,而不是用于简单的字符串搜索)。
if (search_name.indexOf("cate_no=24") > -1)
search
只会给你字符串。这将是你的情况?cate_no=24
所以我们保留第一部分,并尝试在search_name
字符串中找到所需的值。
var search_name = location.search;
这就是我们如何找到所需模式的索引。
if (search_name.indexOf("cate_no=24") > 0) {
$(".cate_new a").addClass("active");
}
我的个人博客是静态的,所以我还必须弄清楚如何在没有 PHP 或其他一些服务器端代码的情况下做到这一点。
这段代码获取当前 URL 的路径,例如,如果您在http://example.com/about上,它将返回 string '/about/'
。从那里你写一个简单的条件来添加一个类到你选择的链接。
var currentURL = window.location.pathname.toString();
console.log(currentURL);
if (currentURL = '/about/') {
$('a#about').addClass('active')
} else if (currentURL = '/work/') {
...
}
这可以进一步开发以从具有特定类(.nav-items
例如)的链接数组中获取 href 属性,并将活动类添加到具有等于返回字符串的 href 的任何元素。
尝试这个
<li class="<?php if(isset($_REQUEST['cate_no']) && $_REQUEST['cate_no']=="24") { echo "active";}?>"></li>