Из того, что я понял, 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>
Является ли tBodies [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>
Являются ли эти функции правильными? По сути, я не знаю, что происходит (я понимаю, что по крайней мере один из этих сценариев недействителен, но я не знаю, какой или почему).