gpt4 book ai didi

javascript - html5 msie javascript 使 DOM 处理在 MSIE 中工作

转载 作者:行者123 更新时间:2023-11-27 22:35:07 25 4
gpt4 key购买 nike

我在让简单的 HTML5 DOM 处理在 MSIE 9 上工作时遇到问题。它在没有 DOCTYPE 标记的情况下工作。但是由于包含 DOCTYPE html(表示 html5),MSIE 9 不处理它。有没有其他方法可以使它像 html5 一样工作?

代码尝试通过获取 DOM 节点并通过标签名称从中获取元素来创建节点列表。简单的测试是显示nodeList.length。这是我在构建的应用程序中看到的较大问题的一小部分示例。但我认为,这一小段代码最好在这里展示,而不是试图向您展示我的整个应用程序。

以下代码适用于 Chrome、Firefox、Opera 以及可能更多...但不适用于 MSIE 9。我也有它在线,因此您只需单击 this link。 (只要我在运行)并尝试一下;然后复制地址在其他浏览器中试试。我还删除了“<!DOCTYPE html>”,然后它可以在 MSIE 中运行。但是没有浏览器会知道它是 html5(如果我理解正确的话)。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
function setOptions () {

var ndiv = document.getElementById("products");
var OptionList = ndiv.getElementsByTagName("option");

document.getElementById("dump").innerHTML = "OptionList.length " + OptionList.length;

}
</script>
</head>
<body onload="setOptions()">
<br/><br/><br/>
<div id="dump"></div>
<div id="products" style="display:none">
<option>MOTOR</option>
<option>CHASSI</option>
<option>ELECTRIC</option>
<option>BRAKES</option>
<option>TIRES</option>
</div>
</body>
</html>

最佳答案

您使用的标记无效。选项元素不应是 div 元素的子元素。如果您将带有产品 ID 的 div 元素改为选择元素,它将按预期工作。

由于 IE9 没有 HTML5 解析器,您无法保证无效标记会发生什么情况,并且可能会发生像这样的意外结果。 IE10 有一个 HTML5 解析器,因此处理错误情况与其他浏览器一致。

关于javascript - html5 msie javascript 使 DOM 处理在 MSIE 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14381382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com