我的 HTML 页面上有 2 个 DIV:
<div id="divDebug" />
<div id="divResult" />
我有一个脚本可以访问网络服务并用数据填充它们:
document.getElementById("divDebug").innerHtml = rawResult;
document.getElementById("divResult").innerHtml = processResult(rawResult);
这是我的问题:
- 上面的代码在 IE 8 中运行良好
- 上面的代码在 Chrome 3 中有时有效,有时无效。
- 只有第一行在 FF 3.51 中有效。在使用 FireBug 进行测试后,我可以看到表达式
document.getElementById("divResult")
评估为null
.
经过多次尝试和错误,我发现如果我将 HTML 代码更改为:
<div id="divDebug"></div>
<div id="divResult"></div>
在所有 3 个浏览器中一切都运行良好。
我的问题是:
- 为什么我必须关闭 DIV 才能使其可用?
- 这是 JavaScript 的问题还是 FF 的 bug?
- 是否还有其他 HTML 元素如果未正确关闭就会变得不可用?
Thanks!
<div/>
基本上是关闭标签的 XML 方式。<div></div>
是 HTML(和 XML)。
您使用什么文档类型?
From C. HTML 兼容性指南 http://www.w3.org/TR/xhtml1/guidelines.html#C_3 in XHTML™ 1.0 可扩展超文本标记语言(第二版) http://www.w3.org/TR/xhtml1/Cover.html:
C.3.元素最小化和空元素内容
给定一个元素的空实例,其内容模型不是
EMPTY(例如,空标题或
段落)不要使用最小化
形式(例如使用<p> </p>
并不是<p
/>
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)