这个HTML合法,将NOSCRIPT放入UL吗?

时间:2016-05-12 04:52:21

标签: html html5 validation tree structure

这合法吗?

<UL>
  <NOSCRIPT>
    <LI>Foo
  </NOSCRIPT>
  <LI>Bar
</UL>

我通过验证器运行它并且它说不,但我不确定它是否理解NOSCRIPT

3 个答案:

答案 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(),它只会使事情变得复杂。