Я получаю самые странные проблемы с Javascript в Firefox сегодня.Javascript getElementsByTagName сломанный firefox?
Я пытаюсь манипулировать некоторыми строками таблицы, но .getElementsByTagName("tr");
отбрасывает барахл.
dynamicTable.tableBody = dynamicTable.getElementsByTagName("tbody")[0];
var tableRows = dynamicTable.tableBody.getElementsByTagName("TR");
var actualTableRows = new Array();
for(var i in tableRows) {
var row = tableRows[i];
alert(row.tagName);
if(row.tagName == "TR"){
actualTableRows.push(row);
}
}
dynamicTable.bodyRows = actualTableRows;
Незначительная часть, конечно, является моим временным взломом, чтобы исправить ошибку. По какой-то причине .getElementsByTagName("tr")
оттягивает некоторые функции.
В противном случае предупреждение выше выглядит примерно так: «TR TR TR TR undefined undefined undefined».
код Я хотел было что-то вроде этого
dynamicTable.bodyRows = dynamicTable.tableBody.getElementsByTagName("tr");
Но тогда bodyrows
не содержит только <tr>
элементов, то есть вышеупомянутый мусор в нем.
Любые мысли?
EDIT: Если я просто использую второй блок кода, я получаю список из 24 элементов на столе, который имеет 21 строку таблицы (три элемента). Первый блок кода - это просто хак, который исправляет проблему.
Если изменить оповещение alert(row)
я получаю:
[object HTMLTableRowElement]
...
function item() {
[native code]
}
21
function namedItem() {
[native code]
}
Какой "мусор"? – JAB
Можете ли вы разместить HTML-код? –