Trouver classe parent et id
-
03-10-2019 - |
Question
Eh bien, après d'innombrables essais je ne peux pas obtenir ce travail?
<script type="text/javascript">
$("td input").focusout(function() {
var column = $(this).parent('td').attr('class');
var row = $(this).parent('tr').attr('id');
$('#dat').HTML(row+" "+column);
});
</script>
Et les regards html comme ceci:
<tr class="numbers" id="1">
<td class="a" align="right">1</td>
<td class="b"><input class="input" type="text" value=""/></td>
<td class="c"><input class="input" type="text" value=""/></td>
<td class="d"><input class="input" type="text" value=""/></td>
<td class="e"><input class="input" type="text" value=""/></td>
<td class="f">0</td>
<td class="g"><input class="input" type="text" value=""/></td>
</tr>
point Quelqu'un peut-il me la bonne direction sur ce qui pourrait être erroné?
La solution
Notez qu'il doit être en minuscule
$('#dat').HTML(row+" "+column);
.html
et
$(this).parent('tr')
est nul, l'entrée ne peut pas avoir un parent TR
alternativement à cela, vous pouvez utiliser
Autres conseils
Essayez:
$(this).closest('td').attr('class')
à l'endroit approprié dans votre code. Même chose pour ID.
Votre apparence de code droit pour la plupart, juste corriger ces choses:
$('#dat').HTML(row+' ' +column);
Pour cela:
$('#dat').html(row + ' ' + column);
Et ceci:
$(this).parent('tr').attr('id');
Pour cela:
$(this).parents('tr').attr('id');
Vous voulez utiliser la fonction .parents()
plutôt que le .parent()
.
La raison, de la documentation, ma mise en surbrillance.
Étant donné un objet jQuery qui représente un ensemble d'éléments DOM, le .parent () méthode nous permet de rechercher à travers la les parents de ces éléments dans les DOM arbre et construire un nouvel objet jQuery à partir des éléments correspondants. méthodes .parents () et (.parent) sont similaire, sauf que celui-ci ne se déplace un seul niveau le DOM arbre.