Dom getElementsByTagName(';TBODY';)在Chrome中失败
给定使用Dom getElementsByTagName(';TBODY';)在Chrome中失败,dom,google-chrome,Dom,Google Chrome,给定使用getElementById()找到的表的元素,我需要获取body元素并向其中添加一行。这在Chrome中失败: var tabBody = expressionTable.getElementsByTagName('TBODY')[0]; 但在IE工作 如何在所有浏览器(ie 8、Chrome、FF和Safari)中获得主体 代码如下所示: var expressionTable = document.getElementById(tableID); var tabBody = ex
getElementById()
找到的表的元素,我需要获取body元素并向其中添加一行。这在Chrome中失败:
var tabBody = expressionTable.getElementsByTagName('TBODY')[0];
但在IE工作
如何在所有浏览器(ie 8、Chrome、FF和Safari)中获得主体
代码如下所示:
var expressionTable = document.getElementById(tableID);
var tabBody = expressionTable.getElementsByTagName('tbody')[0];
var expressionRow = createExpressionRow(FieldTagsValue, row);
tabBody.appendChild(expressionRow);
tabbody是“未定义的”
我认为这可能是因为表开始时是空的,Chrome没有一个tbody
元素来表示空表。是吗
谢谢,
Brian不要依赖任何在IE中工作的东西-它可能表现得有点不标准。 我还建议不要期望您在HTML中未声明的标记出现在DOM中 如果确实依赖于DOM中存在的tbody标记,我会尝试使用显式tbody标记:
<table>
<tbody></tbody>
</table>
不要依赖任何在IE中工作的东西——它可能表现得有点不标准。 我还建议不要期望您在HTML中未声明的标记出现在DOM中 如果确实依赖于DOM中存在的tbody标记,我会尝试使用显式tbody标记:
<table>
<tbody></tbody>
</table>
这就是它,它不存在于铬中。我这样做了,但是如果(tabBody==undefined){var tabBody=document.createElement(“TBODY”);expressionTable.appendChild(tabBody);}@BrianK,我也喜欢你的解决方案,就像我说的,这一切都取决于你有多耐心确保DOM代码在所有浏览器中都能正常工作…:)这就是它,它不存在于铬中。我这样做了,但是如果(tabBody==undefined){var tabBody=document.createElement(“TBODY”);expressionTable.appendChild(tabBody);}@BrianK,我也喜欢你的解决方案,就像我说的,这一切都取决于你有多耐心确保DOM代码在所有浏览器中都能正常工作…:)