JavaScript 使用主题标签更改显示

标签 javascript html css displayobject

我是 JS 的新手,对一些看起来非常简单的东西有疑问。 我正在尝试制作一个代码,以便如果页面加载时在 url 末尾带有 #,例如。 www.example.com#hashtag,然后会显示一个 div,如果没有 #,div 将不会显示。

我的代码:

JS:

<script type="text/javascript">
if(window.location.hash) {
document.getElementById("displaydiv").style.display = "block"; 
}
</script>

HTML:

<div id="displaydiv" style="display: none; height: 100px; width: 100px; 
background-color: red;"></div>

最佳答案

代码是正确的,但是 <script>执行得太早, <div> 之前已呈现,所以我怀疑您在浏览器中遇到了 JavaScript 错误。你检查浏览器控制台了吗?

移动 <script> <div> 之后将修复它,但将代码放入函数并在页面加载后调用它可能是明智的,例如:

<script type="text/javascript">
    function init() {
        if (window.location.hash) {
            document.getElementById("displaydiv").style.display = "block"; 
        }
    }

    window.onload = init;
</script>

参见 Alternative to <body onload="init ();">

关于JavaScript 使用主题标签更改显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12193715/

相关文章:

css - 缩小页面及其内容

java ->> 转换为 ï¿

javascript - 需要交换表单上的字段可见性

jquery - 打开 Accordion 时按下页脚

html - 所有内容顶部的文本

javascript - JavaScript 的日期范围限制

javascript - 将 JavaScript 变量的输出复制到剪贴板

javascript - angularjs 工厂在 firefox 中显示无法访问的代码错误

javascript - 计算纵横比的算法是什么?

javascript - jQuery.height() 设置的高度高于参数中指定的高度