J'essaie de sélectionner la valeur interne du premier frère - en utilisant jQuery - dans un environnement où je ne peux pas modifier le balisage html.Sélectionnez le premier frère
Je donne les résultats suivants:
<tr>
<td>3</td>
<td>bob</td>
<td>smith</td>
<td>[email protected]</td>
<td>
<img src="bobsmith.png" onclick="doSomething()" />
</td>
</tr>
J'essaie d'obtenir la valeur de la première <td>
ce qui suit:
function doSomething() {
var temp = $(this).parent().parent().children().filter(':first');
alert("you clicked person #" + temp.html());
}
Tout ce que je reçois de c'est null
.
J'ai aussi essayé différentes combinaisons avec la fonction .siblings()
, mais en vain.
Des idées?
Merci,
Note: J'ai oublié de mentionner que la table l'extrait est de chargement dynamique & rafraîchi à partir d'un appel ajax. Cela peut être pertinent pour les suggestions qui incluent des liaisons.
Solution: Je suis allé avec la solution suivante, inspirée par la réponse acceptée:
<tr>
<td>3</td>
<td>bob</td>
<td>smith</td>
<td>[email protected]</td>
<td>
<img src="bobsmith.png" onclick="doSomething(this)" />
</td>
</tr>
et le javascript jQuery:
function startStopNode(el) {
var temp = $(el).parent().siblings(':first').html();
alert("you clicked: " + temp);
}
Je reçois toujours des nulls avec ceci. Je soupçonne que le lien 'this' ne résout pas l'objet d'origine. – Mike
Je viens de mettre à jour ma réponse, essayez maintenant. –
Merci. On dirait que je devrais entrer et pirater le code rendant la table. :) J'espérais ne pas avoir à faire ça. – Mike