J'essaie d'afficher les lignes en fonction du choix des utilisateurs. Supposons qu'il ne veut que 3 lignes, alors la quatrième et la cinquième rangée se cacheront. Veuillez trouver ci-dessous la partie de html et javascript.Erreur JavaScript lors de la tentative de masquer les lignes du tableau
HTML
<table>
<tr id="sRow1">
<td>1a</td>
<td>1b</td>
</tr>
<tr id="sRow2">
<td>2a</td>
<td>2b</td>
</tr>
<tr id="sRow3">
<td>3a</td>
<td>3b</td>
</tr>
<tr id="sRow4">
<td>4a</td>
<td>4b</td>
</tr>
<tr id="sRow5">
<td>5a</td>
<td>5b</td>
</tr>
</table>
JavaScript
// b gets value from xml file
while (b <= 5)
{
var rowName = "sRow" + b;
alert(rowName);
try {
document.getElementById(rowName).style.display = "none";
}
catch (err)
{
alert(err.description)
}
b++;
}
J'obtiens l'erreur de l'objet nécessaire à document.getElementById (rowName) .style.display = "none" ;. Peux-tu aider s'il te plait.
Je ne vois pas pourquoi vous auriez besoin d'essayer ici. Êtes-vous sûr que 'document.getElementById (rowName)' trouve réellement l'élément? Si ce n'est pas le cas, il devrait retourner 'null' et l'accès à la propriété supplémentaire - c'est-à-dire' .style.display' - devrait entraîner une erreur. Pour éviter cela, il suffit de vérifier l'existence de l'élément avant d'essayer de définir son style. – kangax
Fonctionne pour moi par exemple. 'b = 4'. Peut-être que «b» n'est pas ce que vous attendiez? Quel est le rowName que vous avez alerté juste avant l'erreur? – bobince
Une autre observation étrange, si je change les noms d'id de sRow en sib, cela fonctionne. Est-ce que sRow est un mot-clé? Cordialement – kobra