通过引用外部页面中的锚点扩展隐藏的div

cer*_*key 1 javascript anchor hidden

我有一个脚本在页面加载时隐藏(显示:无)列表中的某些div.Div内容代表书的描述,整个列表是某种书目.每个div都有一个id,例如"div1","div2"等.

<ul>  
<li><div class="hidden" id="div1"></li>  
<li><div class="hidden" id="div1"></li>   
...  
</ul> 
Run Code Online (Sandbox Code Playgroud)

还有另一个带有菜单的页面,其中包含每个这样一个div的锚定链接:

<ul>  
<li><a href="bibl.html#div1"></li>  
<li><a href="bibl.html#div2"></li>  
...  
</ul>  
Run Code Online (Sandbox Code Playgroud)

我希望隐藏的div在单击其他页面上的链接时自动扩展.我尝试了一些window.location.href的东西,但无济于事 - 我的JS还很弱.我理解它应该采用当前url的逻辑并检查它是否为"#",然后在id属性中搜索具有右边部分的元素.非常感谢很多人.)

Pao*_*ino 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';
    }
};
Run Code Online (Sandbox Code Playgroud)

本质上,您检查页面加载窗口的href是否附加了哈希值.如果是,则找到<div>并更改样式显示以阻止.