3
我在XP上使用IE 6(企业强制版),以及(主要是)Firefox 3.在这些中,我使用prototype.js库版本1.6.0.3制作DHTML表。prototype.js - 在IE 6下忽略Element.insert(Element)?
我有事件处理程序JavaScript代码添加一行到表,它在Firefox下工作正常,但在Internet Explorer下完全忽略。我可以遍历MS“脚本调试器”中的代码(是的,我知道它已经过时并且不推荐使用,但它可用),所以我知道事件正在被吸引。
的代码是形式的东西:
var xTable = $('x_list') // id of x...
var aRow = new Element('tr')
aRow.setAttribute('id', id)
. . .
var xEl = new Element('td')
. . .
aRow.insert(xEl)
. . .
// alert(aRow.inspect())
// alert(xTable.inspect())
debugger // check insert() implementation under IE
xTable.insert(aRow)
有其他人曾与Element.insert()和浏览器之间的冲突的经验?
谢谢(同时回答者),添加嵌套的
标签工作得很好。 – Roboprog 2009-06-02 21:15:12回答
您必须将新的TR元素插入到TBODY中,而不是直接插入TABLE中。否则IE不会显示/插入/不管它。
来源
2009-06-02 20:54:40 slosd
尝试在您正在使用的
<table>
内创建一个<tbody>
元素,然后附加到该元素而不是<table>
。这是我第一次尝试。我隐约记得,如果没有
<tbody>
元素,表格的Javascript操作很奇怪。来源
2009-06-02 20:54:47 Triptych
slosd完美地回答了它,只是一点补充:TBODY在IE7中也是必需的,但在IE8中是不需要的。
来源
2009-08-28 20:24:29
相关问题