启用Javascript时,以下HTML / Javascript是否有效(严格)?是否忽略了noscipt标记中的id?
<body>
<noscript>
<div id="test"></div>
</noscript>
<script type="text/Javascript">
var el = document.createElement('span');
el.id = 'test';
document.body.appendChild(el);
</script>
</body>
答案 0 :(得分:10)
启用javascript后,<noscript>
的内容为raw text,而非元素内容,因此<noscript>
元素的子元素是值为"\n <div id="test"></div>\n"
的文本节点DIV元素。 getElementById("test")
找不到ID为<div>
的{{1}},因为没有这样的元素,只有一个文本节点,如果它出现在原始文本上下文之外,其内容将解析为DIV。
http://www.w3.org/TR/html5/scripting-1.html#the-noscript-element
在head元素之外,如果为
"test"
元素启用了脚本
noscript
元素必须仅包含文本...