Heim > Fragen und Antworten > Hauptteil
Ich weiß nicht, warum der Knopf nicht funktioniert. Ich möchte erreichen, dass jedes Pokémon, bei dem das Kontrollkästchen „Hängt hängen“ aktiviert ist, nicht mehr angezeigt wird, wenn ich auf die Schaltfläche klicke. Es funktioniert nicht. Ich habe gerade mit dem Codieren begonnen, und während Sie dies lesen, lächeln Sie wahrscheinlich. Es ist alles sehr verwirrend.
function showUnowned() { var rows = document.getElementsByTagName("tr"); for (var i = 0; i < rows.length; i++) { if (rows[i].getElementsByTagName("input")[2].checked == true) { rows[i].style.display = "none"; } } }
<h1>My Pokemon Card Collection</h1> <table> <tr> <th>Picture</th> <th>Name</th> <th>Pokedex Number</th> <th>Card</th> <th>Other</th> </tr> <!-- This is an example of how to add a Pokemon to the table. You can copy and paste this code for each Pokemon in your collection. --> <tr> <td><img src="https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/1.png"></td> <td>Bulbasaur</td> <td>1</td> <td><input type="checkbox"></td> <td><input type="checkbox"></td> </tr> <tr> <td><img src="https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/2.png"></td> <td>Ivysaur</td> <td>2</td> <td><input type="checkbox"></td> <td><input type="checkbox"></td> </tr> <tr> <td><img src="https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/3.png"></td> <td>Venusaur</td> <td>3</td> <td><input type="checkbox"></td> <td><input type="checkbox"></td> </tr> <tr> <td><img src="https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/4.png"></td> <td>Charmander</td> <td>4</td> <td><input type="checkbox"></td> <td><input type="checkbox"></td> </tr> </table> <button onclick="showUnowned()">Show Unowned Pokemon</button>
P粉4188540482023-09-14 09:37:21
您再次循环遍历这些元素(有 4 个元素,但循环了 5 次),因此您可以编辑代码来解决此问题:
function showUnowned() { var rows = document.getElementsByTagName("tr"); for (var i = 1; i < rows.length; i++) { if (rows[i].getElementsByTagName("input")[2].checked == true) { rows[i].style.display = "none"; } } }