当前位置:  开发笔记 > 编程语言 > 正文

单标记DIV的document.getElementById失败

如何解决《单标记DIV的document.getElementById失败》经验,为你挑选了1个好方法。

我在HTML页面上有2个DIV:

我有一个脚本可以访问Web服务并用数据填充它们:

document.getElementById("divDebug").innerHtml = rawResult;
document.getElementById("divResult").innerHtml = processResult(rawResult);

这是我的问题:

    上面的代码在IE 8中运行良好

    上面的代码有时可以使用,有时在Chrome 3中没有.

    只有第一行在FF 3.51中有效.在使用FireBug进行测试后,我可以看到表达式的document.getElementById("divResult")计算结果为null.

经过多次试验和错误,我发现如果我将HTML代码更改为:

一切都适用于所有3个浏览器.

我的问题是:

    为什么我必须关闭DIV才能使用它们?

    这是一个JavaScript的东西,还是一个FF bug?

    是否有任何其他HTML元素在未正确关闭时将无法使用?

谢谢!



1> cletus..:

基本上是关闭标签的XML方式.
是HTML(和XML).

您使用的DOCTYPE是什么?

从C. HTML兼容性准则在XHTML™1.0可扩展超文本标记语言(第二版):

C.3.元素最小化和空元素内容

给定内容模型不是EMPTY的元素的空实例(例如,空标题或段落)不使用最小化形式(例如,使用

和不使用

).

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有