Je reçois les problèmes les plus bizarres avec Javascript dans Firefox aujourd'hui.Javascript getElementsByTagName broken firefox?
J'essaie de manipuler certaines lignes de la table, mais .getElementsByTagName("tr");
est en train de retirer des déchets.
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;
La partie curieuse est bien sûr mon hack temporaire pour corriger l'erreur. Pour certaines raisons .getElementsByTagName("tr")
tire également certaines fonctions. Incidemment, l'alerte ci-dessus va quelque chose comme "TR TR TR TR undefined undefined undefined".
Le code que je voulais était quelque chose comme ça
dynamicTable.bodyRows = dynamicTable.tableBody.getElementsByTagName("tr");
Mais bodyrows
ne contient pas seulement <tr>
éléments, il a la camelote ci-dessus en elle.
Des pensées?
EDIT: Si j'utilise simplement le deuxième bloc de code, j'obtiens une liste de 24 éléments sur une table qui a 21 lignes de table (éléments tr). Le premier bloc de code est juste un hack qui résout le problème.
Si je change l'alerte alert(row)
je reçois:
[object HTMLTableRowElement]
...
function item() {
[native code]
}
21
function namedItem() {
[native code]
}
Quel genre de "junk"? – JAB
Pouvez-vous poster le code HTML? –