Javascript 更优雅的解决方案?

Javascript 更优雅的解决方案?,javascript,html,noscript,Javascript,Html,Noscript,如果用户关闭了脚本,则可以使用来显示消息,但是否有任何方法可以使用它来包含条件html语句或更复杂的编码 编辑:对不起,也许我不清楚;我对noscript标记本身没有什么反对意见,但我想知道它的使用有哪些向上的限制?就我所见,它的用途仅仅是告诉人们打开脚本。我在考虑可访问性方面的潜力。您可以这样做: <div id="removeIfJS">Sorry, but javascript is disabled</div> <script> var sorry

如果用户关闭了脚本,则可以使用来显示消息,但是否有任何方法可以使用它来包含条件html语句或更复杂的编码

编辑:对不起,也许我不清楚;我对noscript标记本身没有什么反对意见,但我想知道它的使用有哪些向上的限制?就我所见,它的用途仅仅是告诉人们打开脚本。我在考虑可访问性方面的潜力。

您可以这样做:

<div id="removeIfJS">Sorry, but javascript is disabled</div>
<script>
 var sorry = document.getElementById("removeIfJS");
 sorry.parentNode.removeChild(sorry);
</script>
您可以这样做:

<div id="removeIfJS">Sorry, but javascript is disabled</div>
<script>
 var sorry = document.getElementById("removeIfJS");
 sorry.parentNode.removeChild(sorry);
</script>
你怎么了?它可以包含你想要的任何东西。从整个布局到元素,再到一条巨大的警告消息

显然,您不能在其中使用JavaScript,但除此之外,您可以做任何事情。

有什么问题吗?它可以包含你想要的任何东西。从整个布局到元素,再到一条巨大的警告消息


显然,您不能在其中使用JavaScript,但除此之外,您可以做任何事情。

坚持使用noscript标记,因为它是解决问题的标准方法。搜索引擎知道如何处理它,屏幕阅读器知道如何处理它,关闭javascript的人会看到带有CSS的奇特警告/消息

顺便说一句:如果脚本也关闭了,你就不能做任何花哨的事情


在noscript标记中,可以使用body标记中直接允许的所有元素。有关详细信息,请参阅您提供的链接。

坚持使用noscript标记,因为它是解决问题的标准方法。搜索引擎知道如何处理它,屏幕阅读器知道如何处理它,关闭javascript的人会看到带有CSS的奇特警告/消息

顺便说一句:如果脚本也关闭了,你就不能做任何花哨的事情


在noscript标记中,可以使用body标记中直接允许的所有元素。有关详细信息,请参阅您提供的链接。

标记可以包含您想要的任何HTML标记。您可以使用CSS将容器元素的显示设置为“无”,然后使用javascript将显示属性设置为“块/内联”,使用javascript。@Chandu为什么要这样做,而不仅仅将内容放在块中?@Pointy:Ah,但是如果你有一个javascript菜单;如果有人关闭了脚本,那么在noscript标记之间嵌套一个备份纯CSS菜单会不会是一个糟糕的设计,就像有人使用ie7时可能会有一个备份样式表一样?@Pointy如果OP真的不想使用noscript标记,这只是一个备选方案。该标记可以包含您需要的任何HTML标记需要。您可以使用CSS将容器元素的显示设置为“无”,然后使用javascript将显示属性设置为“块/内联”,使用javascript。@Chandu为什么要这样做而不只是将内容放在块中?@Pointy:啊,但如果您有javascript菜单;如果有人关闭了脚本,那么在noscript标记之间嵌套一个备份纯CSS菜单会不会是一个糟糕的设计,就像有人使用ie7时可能会有一个备份样式表一样?@Pointy如果OP真的不想使用noscript标记,这只是一个备选方案。这真的比不需要代码的简单性?@Pointy-这只是一个替代方案。这真的比不需要代码的简单性好吗?@Pointy-这只是一个替代方案。