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

如何在IE6中使用带有Prototype的Element添加<table>?

如何解决《如何在IE6中使用带有Prototype的Element添加<table>?》经验,为你挑选了1个好方法。

使用Prototype 1.6的"new Element(...)"我试图用和创建一个

元素,但在IE6中没有任何反应.

var tableProto = new Element('table').update('
');

我正在尝试像这样注入它的副本:

$$('div.question').each(function(o) {
  Element.insert(o, { after:$(tableProto.cloneNode(true)) });
});

我目前的解决方法是创建一个

而不是
Situation TaskActionResult
abc
元素,然后使用所有表格HTML"更新"它.

如何成功地做到这一点?



1> Zack The Hum..:

事实证明,我在问题中提供的示例代码没有任何问题 - 它在IE6中运行得很好.我面临的问题是我还错误地为构造函数中的

元素指定了一个类,但是从我的示例中省略了它.

"真实"代码如下,并且不正确:

var tableProto = new Element('table', { class:'hide-on-screen'} ).update('
');

这在Firefox中正常工作,但在IE6中失败,因为它是错误的.

通过此构造函数向元素添加属性的正确方法是提供字符串,而不仅仅是属性名称.以下代码适用于两种浏览器:

var tableProto = new Element('table', { 'class':'hide-on-screen'} ).update('
');

由于"class"是JavaScript中的保留字,因此存在错误.卫生署!

对于那些不提供实际代码的人来说,这是一个教训!

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