0

我正在尝试添加我网站的导航部分,并让侧边栏中的当前页面具有“当前”类来更改它的颜色。我正在使用 jQuery,就好像我没记错一样,addClass 在 IE 8 和 9 中工作,而使用 javascript 需要额外的编码才能使其与跨浏览器兼容。

<div id="link_location">onandon</div>

<script type="text/javascript">
    var id = document.getElementById('link_location').innerHTML;
    $("'#"+ id +"'").addClass('current');
</script>

<div id="sidebar">
    <div id="links">
        <li><a id="allofnothinginstall" href="allofnothinginstall.html">All of Nothing</a></li>
        <li><a id="onandon" href="onandon.html">on and on</a></li>
    </div> 
</div>

我确信有更简洁的方法可以做到这一点,但我仍在学习 javascript,不知道如何从窗口位置提取 url,只保留页面名称。任何帮助是极大的赞赏!

4

2 回答 2

1

您需要在文档就绪处理程序中运行 JS,以便加载 DOM。而且你不应该'在选择器中有字符。

$(function() {
    var id = $("#link_location").text();
    $("#" + id).addClass('current');
});
于 2013-08-15T04:29:45.610 回答
0

您可以通过发送来获取当前页面的路径window.location.pathname。对于此页面,返回"/questions/18246248/appending-class-to-anchor-based-on-page". 您可以使用正则表达式或 .slice()。

打开你的控制台(在开发工具中),输入window.location,然后回车。它会向您显示您可以访问的所有信息,包括window.location.pathname

于 2013-08-15T04:29:11.443 回答