2012-01-17 42 views
7

當啓用Javascript時,以下HTML/Javascript是否有效(嚴格)? noscipt標籤中的ID是否被忽略?noscript中的重複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> 

回答

10

當啓動Javascript的<noscript>內容raw text,不元素的含量,所以<noscript>元素的孩子是價值"\n <div id="test"></div>\n"而不是DIV元素文本節點。 A getElementById("test")將找不到<div>與ID "test",因爲沒有這樣的元素,只有文本節點的內容將解析爲DIV如果它出現在原始文本上下文之外。

http://www.w3.org/TR/html5/scripting-1.html#the-noscript-element

頭元素之外,如果腳本是爲noscript元素
noscript元素必須只包含文本啓用...

+0

感謝邁克,我會接受這個當我能夠時,回答。 – Paulpro 2012-01-17 19:35:12

+0

@ user1,不客氣。快樂的編碼。 – 2012-01-17 19:36:27