DIV.innerHTML 赋值如果开头为 "

" 就不成功

商科程序员 2008-03-06 04:02:22
现象是这样的:
var el = document.getElementById('div_id');
var innerhtml = '<p><pre>............';
el.innerHTML = innerhtml;
最后一句运行不成功, 并且会影响它后面的语句都无法运行. 在运行时 IE 的左下角也不会有运行错误提示. 很是奇怪. 在 "<p><pre>...." 中间加入点什么如 "<p> <pre>.........." 就可以赋值成功.
我在 MYIE 上也试了, 结果一样. 在 FF 上也一样.
这个问题搞了我两三个小时, 绝对想不到的问题.

现在我只是想问一下为什么会这样. 是因为 <p> 和 <pre> 它们冲突吗?
...全文
282 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
商科程序员 2008-03-15
  • 打赏
  • 举报
回复
结贴来了
商科程序员 2008-03-11
  • 打赏
  • 举报
回复
falconfei:
自从用过JSF后,我的HTML代码都是写标准的, P 和 PRE 都是成对的.只是在这里没写.
问题不在于成不成对,而在于 P 和 PRE 连着.单写某一个也没有问题.

暂不结贴, 再等两天, 看看还不有没有更权威的解释.
擒兽 2008-03-07
  • 打赏
  • 举报
回复
我还真忽略了<pre>身份大于<p>

受教了
极地_雪狼 2008-03-07
  • 打赏
  • 举报
回复
p是成对出现的。
hsx85315 2008-03-07
  • 打赏
  • 举报
回复
试了一下应该ie的问题,用FF就能正常显示,不会报错!
2008-03-06
  • 打赏
  • 举报
回复
up
商科程序员 2008-03-06
  • 打赏
  • 举报
回复
chinmo
我没有引用W3C标准, 在标准中, <img src="bt1.gif"> 这种方式是不行的. 必须加 "</img>" 或都是 "/>"

我是这样理解的: 因为 HTML 中一种 XML, XML 标准就是每一段都要有开始和结束. 在 JSF 中, 如果没有结否标志是运行不过去的. 呵呵, 据说 JSF 中必须是符合 XX 标准的, 具体什么我不记得了.
  • 打赏
  • 举报
回复
你应该是表头定义了W3C标准了
  • 打赏
  • 举报
回复
呵呵,这个与那个不一样
因为你图片<img src="bt1.gif">只要这样就可以显示
商科程序员 2008-03-06
  • 打赏
  • 举报
回复
回三楼:
我估计就是语法不正确, 但是像其它的一些语法错误, 至少可以执行.
如:
<img src="bt1.gif"><table></table></img>

这种语句肯定是错误的, 但可以正常显示图片.
xiaojing7 2008-03-06
  • 打赏
  • 举报
回复
用ie8试试吧!
thunder://QUFodHRwOi8vZG93bmxvYWQubWljcm9zb2Z0LmNvbS9kb3dubG9hZC83L2UvOC83ZTg4YzY5Yi03N2QyLTRmZDctYjFlYi0xMmM2ZDg5ZWNjOTMvSUU4LVdpbmRvd3NYUC14ODYtRU5VLmV4ZVpa
tengfei3003 2008-03-06
  • 打赏
  • 举报
回复
用 outerHTML 呢 ??
hookee 2008-03-06
  • 打赏
  • 举报
回复
从w3c的推荐标准 HTML4.01 的DTD 上看,<pre>不能包含在<p>中。可以用Dreamweaver CS3等软件做个HTML Validate看看.
  • 打赏
  • 举报
回复
W3C标准 ??HTML 标准吧??
kindwell 2008-03-06
  • 打赏
  • 举报
回复
可能是ie的bug。

87,909

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧