名字元素没有显示

时间:2012-02-18 15:49:16

标签: javascript jquery html css

我有一个AJAX / Javascript密集型网页,并尝试使用<noscript>标记创建网站的静态版本。

问题: <noscript>标记中的元素没有显示,而是屏幕上的内容是原始AJAX / JS的(无效)界面的剩余部分现场。似乎<noscript>的内容隐藏在原始界面的div下。

如何隐藏<noscript>部分之外的所有内容,并仅显示<noscript>的内容?

HTML结构

<body>
    <div id="user_interface"></div>
    <div id="javascript_portion"></div>
    <noscript>
        <p>Some static content</p>
    </noscript>
</body>

4 个答案:

答案 0 :(得分:3)

可分两步完成:

1)为#user_interface设置css,为#javascript_portion设置display:none

2)为JS中的某个选择器设置displayblock

答案 1 :(得分:0)

您可以使用CSS为您的javascript_portion div添加display:none。然后使用Javascript删除它。这样Javascript部分只会显示javascript是否正常工作。

答案 2 :(得分:0)

如何使用Javascript编写其他内容,例如:

<body>
  <script type="text/javascript">
    document.write('<div id="user_interface"></div>');
    document.write('<div id="javascript_portion"></div>');
  </script>
  <noscript>
    <p>Some static content</p>
  </noscript>
</body>

答案 3 :(得分:0)

noscript标记就像是其他部分;如果你有脚本,请执行xxx否则在noscript标记中执行操作。

尝试这样的事情(我在下面使用jquery):

<body>
  <div id="withScriptBody" style="display:none">
    ... all stuff that requires java script here.
  </div>
  <noscript>
    ... all noscript stuff here
  </noscript>
  <script>
    $(document).ready(function()
      {
        $("#withScriptBody").css("display", "block");
      });
  </script>
</body>