不显示标记元素
问题描述:
我有一个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>
答
可以分两步完成:
1)#user_interface
和#javascript_portion
组CSS来display:none
2)设置display
到block
为同一选择在JS
答
您可以添加显示:无使用CSS你javascript_portion股利。然后使用Javascript删除它。这种方式的JavaScript部分将只显示如果JavaScript正在工作。
答
地方如何写其他带有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>
答
noscript
标记就像一个else部分;如果您有脚本,请在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>
或者只是把'显示:在其自己的样式表none' CSS和换行样式表中''