J'ai une table qui ressemble à ceci ->comment saisir les données d'une ligne du tableau (HTML/JavaScript) À l'aide d'arbres Traversal Méthodes
<table>
<tr style="display: none";><td class="index">index_value</td></tr>
<tr><td>section header</td></tr>
<tr>
<td class="name>Steven</td>
<td class="height">6 ft.</td>
<td><button class="add">Add</button></td>
</tr>
</table
et un script js qui ressemble à ceci ->
<script>
$(".add").on('click', function(){
var the_name = $(this).closest("td").siblings(".name").text();
var the_type = $(this).closest("td").siblings(".type").text();
var the_index = $(this).parent().find("td.index").text();
}
</script>
Comme vous pouvez probablement le dire, j'essaie d'obtenir les valeurs de certains td dans cette table. Les deux premières variables fonctionnent très bien car elles sont dans la même rangée de table; Cependant, la dernière variable ne capture pas les données que je veux (à l'intérieur de la classe d'index). J'ai quelques difficultés à comprendre ces méthodes de traversée d'arbre et comment saisir des données dans une ligne de table qui n'est pas celle qui contient le bouton sur lequel on clique. Tout conseil serait apprécié, merci.
Comme Bobby Speirs a souligné, votre utilisation de '$ (this) .parent() ...' 'cible le td' entourant le bouton. Si vous voulez toujours utiliser 'parent()', alors vous devrez remonter deux fois comme '$ (this) .parent(). Parent(). Parent(). Find (...) ... ' – mrogers