我正在使用以下代码根据菜单项的 向活动菜单项JQuery
添加一个:class name
URL
var aurl = window.location.pathname;
$('.menu li a[href="'+aurl+'"]').parent('li').addClass('active');
问题不在于代码本身,而在于window.location.pathname
.
当我将其设置URL
为以下HTML
代码时它可以工作:
<ul>
<li><a href='/'>home</a></li>
<li><a href='/page1'>page 1</a></li>
<li><a href='/page%202'>page 2</li>
</ul>
URL
但是当我将其设置为以下HTML
代码时它不起作用:
<ul>
<li><a href='http://myhost.com'>home</a></li>
<li><a href='http://myhost.com/page1'>page 1</a></li>
<li><a href='/page 2'>page 2</a></li>
<li><a href='http://myhost.com/page 3'>page 3</a></li>
<li><a href='http://myhost.com/page%204'>page 4</a></li>
</ul>
我需要一些window.location.pathname
可以一起识别所有这些情况的东西。
谢谢
更新#1:
我URL
为此使用了 2 个变量:
var aurl = window.location;
var burl = window.location.pathname;
$('.menu li a[href="'+aurl+'"],.menu li a[href="'+burl+'"]').parent('li').addClass('active');
它适用于所有类型,但我仍然无法定义URL
,space
我必须将其替换为%20
:
<li><a href='/page 2'>page 2</li>
成为:
<li><a href='/page%202'>page 2</li>