这合法吗?
<UL>
<NOSCRIPT>
<LI>Foo
</NOSCRIPT>
<LI>Bar
</UL>
我通过验证器运行它并且它说不,但我不确定它是否理解NOSCRIPT
。
答案 0 :(得分:1)
这不合法。 UL
may only contain LI
元素和script-supporting elements - 和NOSCRIPT
不是支持脚本的元素。虽然基于脚本环境对NOSCRIPT
的处理方式有所不同,但该特殊情况不相关,因为它处理NOSCRIPT
的内容模型,但这里的规则与UL
的内容模型有关。
答案 1 :(得分:1)
这是无效的,但为什么你不重复这样的ul?一个用于Js而另一个用于Js。
<!DOCTYPE html>
<head>
<title>test</title>
</head>
<noscript>
<ul>
<li>Foo</li>
<li>Bar</li>
</ul>
</noscript>
<script>
document.write("<ul><li>ShowIfJsAvailable</li></ul>");
</script>
答案 2 :(得分:0)
你最好先设计一个没有javascript工作的页面,之后你可以用javascript改进页面(或者更好的是JQuery)。
以前的答案已经说明noscript结构是无效的,所以放弃了这个想法。
首先编写页面,因为它应该看起来没有javascript,然后使用javascript修改结构,因为你希望它与javascript一样。加载页面后删除或添加元素 - 这就是JQuery及其$(document).ready()
真正得到回报的地方!
此外,您的html文件看起来会更清晰,只有启用了脚本才能使用js-file。
不要使用该document.write(),它只会使事情变得复杂。