我有一个脚本在页面加载时隐藏(显示:无)列表中的某些div。 Div内容代表书的描述,整个列表是某种书目。每个div都有一个id,例如“div1”,“div2”等。
<ul>
<li><div class="hidden" id="div1"></li>
<li><div class="hidden" id="div1"></li>
...
</ul>
还有另一个带有菜单的页面,其中包含每个这样一个div的锚定链接:
<ul>
<li><a href="bibl.html#div1"></li>
<li><a href="bibl.html#div2"></li>
...
</ul>
我希望隐藏的div在单击其他页面上的链接时自动扩展。我尝试了一些window.location.href的东西,但无济于事 - 我的JS还很弱。我理解它应该采用当前url的逻辑并检查它是否为“#”,然后在id属性中搜索具有右边部分的元素。非常感谢很多人。)
答案 0 :(得分:6)
您可以在目标网页上执行以下操作:
window.onload = function() {
var hash = window.location.hash; // would be "#div1" or something
if(hash != "") {
var id = hash.substr(1); // get rid of #
document.getElementById(id).style.display = 'block';
}
};
基本上,您检查页面加载窗口的href是否附加了散列。如果是,则找到<div>
并将样式显示更改为阻止。
答案 1 :(得分:0)
您可以使用window.location.hash
查看哈希值。
从那里你可以getElementById(hashValue)
并展示它。
答案 2 :(得分:0)
谢谢!我想你可以添加这个
location.href = '#' + id;
并将页面滚动到引用div的位置。