我正在尝试添加网站的导航部分,并使侧边栏中的当前页面具有“当前”类以更改其颜色。我正在使用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并且只保留页面名称。非常感谢任何帮助!
答案 0 :(得分:1)
您需要在文档就绪处理程序中运行JS,以便加载DOM。而且你不应该在选择器中有'
个字符。
$(function() {
var id = $("#link_location").text();
$("#" + id).addClass('current');
});
答案 1 :(得分:0)
您可以发送window.location.pathname
来获取当前页面的路径。对于此页面,返回"/questions/18246248/appending-class-to-anchor-based-on-page"
。您可以使用正则表达式或.slice()。
打开你的控制台(在开发工具中),输入window.location
,然后按回车键。它会显示您可以访问的所有信息,包括window.location.pathname