gpt4 book ai didi

javascript - IE 诉 FF : Is table. tBodies[0] 有效吗?

转载 作者:太空宇宙 更新时间:2023-11-04 15:40:26 24 4
gpt4 key购买 nike

据我所知,tBodies[0] 似乎可以在 IE 中使用,但不能在 FF 中使用。这是IE错误吗?我创建了一个小文件来演示这种不一致,我想知道解决这个问题的最佳方法。

HTML:

<html>
<body>
<table id="dataGrid">
</table>
<input type="button" onclick="insertRow();" value="New row">
</body>
</html>

这个脚本应该在每次点击按钮时添加一行。它在 IE 中工作,但在 Firefox 中中断:

<script type="text/javascript" src="/costplan/script/prototype.js"></script>
<script>
function insertRow(){
var objTbl = $('dataGrid').tBodies[0];
lastRow = objTbl.rows.length;
alert(lastRow);
var newRow = objTbl.insertRow(lastRow);
}
</script>

tB​​odies[0] 无效吗?我不确定为什么,但这段代码在 FF 和 IE 中都有效:

<script type="text/javascript" src="/costplan/script/prototype.js"></script>
<script>
function insertRow(){
var objTbl = $('dataGrid');
lastRow = objTbl.rows.length;
alert(lastRow);
var newRow = objTbl.insertRow(lastRow);
}
</script>

这些功能是否正确?基本上,我真的不知道发生了什么(我收集到这些脚本中至少有一个无效,但我不知道是哪个或为什么)。

最佳答案

tBodies 属性是 DOM Level 2 标准的一部分,它 works在两种浏览器上。

不同之处在于 IE 总是 注入(inject) TBODY元素作为空表的子元素。

如果元素为空,Firefox、Chrome 和其他浏览器不会执行此操作,如果 TABLE元素至少有一个 TRTH , 他们将创建 TBODY含蓄地。

您可以添加 TBODY你自己和你的元素 example将毫无问题地工作:

<table id="dataGrid">
<tbody>
</tbody>
</table>

关于javascript - IE 诉 FF : Is table. tBodies[0] 有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3817832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com