Javascript 是什么阻止我的JS获取我的URL哈希?
因此,我试图在一个单独页面的超链接之后,在一个元素上添加一个类。我在Javascript 是什么阻止我的JS获取我的URL哈希?,javascript,jquery,html,Javascript,Jquery,Html,因此,我试图在一个单独页面的超链接之后,在一个元素上添加一个类。我在page1上的链接设置如下: 在page2上,我正在运行此功能: $(function() { var id = window.location.hash; $(id).addClass('expanded'); }); 这是它应该影响的部门: <div id="redbox" class="red"> hajkldjfs </div> 哈克尔德霍夫斯 它应该抓取散列,然后将
page1
上的链接设置如下:
在page2
上,我正在运行此功能:
$(function() {
var id = window.location.hash;
$(id).addClass('expanded');
});
这是它应该影响的部门:
<div id="redbox" class="red">
hajkldjfs
</div>
哈克尔德霍夫斯
它应该抓取散列,然后将类expanded
添加到该元素中。但是,该类从未被追加,控制台也没有错误
下面是我创建的两个JS fiddle链接,以模拟这种情况:
谢谢你的帮助 您的选择器错误。改为
$('#' + id).addClass('expanded');
似乎对我有用。您正在使用哪个浏览器?JSFIDLE将结果放在iframe中。@AdrianWragg我在chrome46上,但我也在一个新选项卡中打开链接,如果这样做会有所不同,请在问题本身而不是在第三方网站上提供所有相关代码。您应该尝试对此进行更多的调试。抓取散列后,添加一个console.log(id)。看看这是否是你所期望的。我猜它只是“redbox”而不是“redbox”,因此jquery选择器如果不在选择器中添加“#”+id就无法工作。具体问题是
window.location.hash
不包括
所以url\redbox
给出的redbox
不是\redbox
。