J'essaie d'écrire un petit javascript chargé d'afficher ou de cacher des lignes de tableau en fonction d'un pattern (regexp).
J'essaie de le faire en changeant la l'attribut "class" de la ligne, la feuille de style précisant :
table tbody tr.hidden { display:none}
Le problème est qu'à l'exécution, j'obtiens l'erreur
Erreur : rows[k].setAttribute is not a function
Le code incriminé :
Code : Tout sélectionner
// récupération de la table, du tbody puis des lignes, puis :
...
// pour chaque cellule de la ligne, je regarde si le pattern est trouvé
for (var k=0; k < rows.length; k++)
{
cells=rows[k].childNodes;
for (var m=0; m < cells.length; m++)
{
if (r.test(cells[m].innerHTML)) foundInLine=true;
}
if (foundInLine)
{
rows[k].setAttribute("class","shown");
foundInLine=false;
} else {
rows[k].setAttribute("class","hidden");
}
}

Code : Tout sélectionner
for (var k=0; k < rows.length; k++)
{
cells=rows[k].childNodes;
for (var m=0; m < cells.length; m++)
{
if (r.test(cells[m].innerHTML))
{
foundInLine=true;
rows[k].setAttribute("class","hidden");
}
}
}
Cela me semble ressembler au problème rencontré par PerfectSlayer le
26/03/2005 (même erreur avec Focus()) mais il n'a pas eu de réponse

Merci.