IE10會破壞/更改HTML層次結構,看起來似乎。下面的示例更好地解釋:使用java-script在IE10中進行HTML解析會改變HTML結構
<html>
<head>
<title>IE10 example</title>
</head>
<body>
<script language="javascript">
function submitForm() {
var temp;
temp = document.getElementById("myTable");
alert(temp.innerHTML);
}
</script>
<table id="myTable">
<thead>
<tr>
<td>First Name</td><td>Last Name</td>
</tr>
</thead>
<tbody >
<form action="/users" method="post" name="userform">
<input type="hidden" name="userName">
<tr>
<td>admin</td>
</tr>
<tr>
<td>SA</td>
</tr>
</form>
</tbody>
</table>
<script language="javascript">
submitForm()
</script>
</body>
</html>
如果將上述HTML頁面加載到IE10中,則表單節點在輸入節點之前關閉。因此,對於任何輸入節點的任何訪問失敗都會導致NULL /未定義錯誤。這個HTML在Mozilla,Chrome,IE9,IE10可比性模式下按預期加載。
預計這種行爲? 我很感謝你的時間&幫助
您是否也可以張貼破損的解釋,讓我們有明確的比較? – CyberSkull
請通過[驗證器](http://validator.w3.org/check)運行您的HTML並觀察錯誤。 「form」和「input」元素的位置對我來說看起來是無效的,我會懷疑其他瀏覽器通過允許HTML工作而非常寬鬆。 'tbody' [只能接受](http://www.w3.org/TR/html5/tabular-data.html#the-tbody-element)'tr'元素 – plasmid87
缺少的文檔類型 <!DOCTYPE html PUBLIC「 - // W3C // DTD XHTML 1.0 Transitional // EN」「http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd」> 是的。 HTML語法是錯誤的。正如你所說的其他瀏覽器可能太寬大了。謝謝 – user1919511