jQuery 脚本不会添加活动 class
jQuery script wont add active class
我得到了这个 jQuery 脚本,它应该将 class "active" 添加到我的 li 中,但它没有。脚本如下:
jQuery(function() {
var pgurl = jQuery(location).attr('href');
console.log(pgurl);
jQuery("ul.pagesubmenu-ul li a").each(function(){
if(jQuery(this).attr("href") == pgurl)
jQuery(this).parent().addClass("active");
})
});
我真的不知道为什么它不起作用。我正在尝试在 this page 上使用它(在主导航下方的子导航中)。
提前致谢!
无需循环所有链接,您可以通过其 href 属性直接将其 jquery jquery select:
$(function() {
$("a[href='" + location.href + "']").parent().addClass('active');
});
请注意,location.href
将 return 完整的 url,如果您在站点中使用相对 urls:
]
$(function() {
$("a[href='" + location.pathname + "']").parent().addClass('active');
});
此外,您可以使用一些字符作为通配符:
= is exactly equal
!= not equal
^= starts with
$= ends with
*= contains
~= contains word
|= starts with prefix
它没有在任何这些链接上获得完全匹配。 pgurl
显示 http://xn--fnpark-pua9l.dk/konference-ny/
,但是 <a>
标签没有尾部斜杠 (http://xn--fnpark-pua9l.dk/konference-ny
)。在比较字符串之前尝试清理 url。这是一个线程,可以让你这样做:
为什么不工作?你能用你的导航结构做一个jsfiddle吗...
HTML
<ul class="page">
<li><a href="1">Link</a>
<ul class="subpage">
<li><a href="#">Sub Link</a></li>
<li><a href="#">Sub Link</a></li>
<li><a href="#">Sub Link</a></li>
</ul>
</li>
<li><a href="2">Link</a></li>
<li><a href="3">Link</a></li>
<li><a href="4">Link</a></li>
<li><a href="5">Link</a></li>
</ul>
JQUERY
jQuery(function() {
$("ul.page li ul.subpage li a").each(function(){
$(this).addClass('active');
});
});
我得到了这个 jQuery 脚本,它应该将 class "active" 添加到我的 li 中,但它没有。脚本如下:
jQuery(function() {
var pgurl = jQuery(location).attr('href');
console.log(pgurl);
jQuery("ul.pagesubmenu-ul li a").each(function(){
if(jQuery(this).attr("href") == pgurl)
jQuery(this).parent().addClass("active");
})
});
我真的不知道为什么它不起作用。我正在尝试在 this page 上使用它(在主导航下方的子导航中)。
提前致谢!
无需循环所有链接,您可以通过其 href 属性直接将其 jquery jquery select:
$(function() {
$("a[href='" + location.href + "']").parent().addClass('active');
});
请注意,location.href
将 return 完整的 url,如果您在站点中使用相对 urls:
$(function() {
$("a[href='" + location.pathname + "']").parent().addClass('active');
});
此外,您可以使用一些字符作为通配符:
= is exactly equal
!= not equal
^= starts with
$= ends with
*= contains
~= contains word
|= starts with prefix
它没有在任何这些链接上获得完全匹配。 pgurl
显示 http://xn--fnpark-pua9l.dk/konference-ny/
,但是 <a>
标签没有尾部斜杠 (http://xn--fnpark-pua9l.dk/konference-ny
)。在比较字符串之前尝试清理 url。这是一个线程,可以让你这样做:
为什么不工作?你能用你的导航结构做一个jsfiddle吗...
HTML
<ul class="page">
<li><a href="1">Link</a>
<ul class="subpage">
<li><a href="#">Sub Link</a></li>
<li><a href="#">Sub Link</a></li>
<li><a href="#">Sub Link</a></li>
</ul>
</li>
<li><a href="2">Link</a></li>
<li><a href="3">Link</a></li>
<li><a href="4">Link</a></li>
<li><a href="5">Link</a></li>
</ul>
JQUERY
jQuery(function() {
$("ul.page li ul.subpage li a").each(function(){
$(this).addClass('active');
});
});