【问题标题】:Add a class name to element immediately this element is loaded立即向元素添加类名,该元素被加载
【发布时间】:2013-11-18 19:22:13
【问题描述】:

我有一个在启用 JavaScript 时必须隐藏的元素。当前代码如下所示:

<body>
    ...
    <div id="js-hidden"></div>
    ...
    <script src="jquery.js"></script>
    <script>
        $(document).ready(function() {
            $('#js-hidden').hide();
        })
    </script>

问题是,js-hidden div 是可见的,因为页面的其余部分(和 JavaScript)都已加载。

我可以提前隐藏吗?这个解决方案对我来说太糟糕了,JS 用户看不到这个元素。

PS:我使用 jQuery 编写了示例,当然也可以使用普通 JS :-)

【问题讨论】:

  • 为什么不使用 css 隐藏显示
  • 你需要添加一个类,而负载是你需要的..工作版本jsbin.com/izAgUbI/1/edit
  • 对 div 使用 style="display:none"
  • 您在寻找<noscript/>吗?

标签: javascript jquery hide jquery-events


【解决方案1】:

最简单的事情:

<style>
.js-hidden {
  display: none;
}
</style>

<noscript>
<style>
.js-hidden {
  display: block;
}
</style>
</noscript>

【讨论】:

    【解决方案2】:

    $(document).ready 使其在 整页 加载后发生,您可以使用

    <body>
        ...
        <div id="js-hidden"></div>
        ...
        <script src="jquery.js"></script>
        <div id="js-hidden"></div>
        <script>
    
                $('#js-hidden').hide();
    
        </script>
    

    【讨论】:

      【解决方案3】:

      由于您不能在 div 上使用 onload 事件,我想最好的解决方案是将您的 js 放在该 div 之后...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-07
        • 1970-01-01
        • 2013-10-28
        相关资源
        最近更新 更多