2009-12-07 7 views
2
$(this).parents('table:first').find('tr')) 

La recherche au-dessus de l'intérieur trtable récursive, comment faire la recherche que pour le haut tr?Comment trouver <tr> à l'intérieur <table> avec profondeur 1?

EDIT

children ne fonctionne pas comme prévu:

alert($(this).parents('table:first').children('tr').length) 

donne 0

+0

Qu'est-ce que $ (ce) dans votre question? –

+0

Notez que si vous voulez vérifier si le navigateur actuel est celui qui ajoute automatiquement les éléments 'tbody', vous pouvez regarder' $ .support.tbody'. Plus d'informations ici: http://docs.jquery.com/Utilities/jQuery.support – nickf

Répondre

4
$('table > tr') 

Ce trouveront <tr> balises qui sont les enfants directs du tableau. Si les lignes sont à l'intérieur d'un tbody, vous devez faire ceci: $('table > tbody > tr')

+0

'tbody' est généralement ajouté implicitement par les navigateurs, donc c'est le bon chemin. (iirc, même ie6 ajoute tbody) – Kobi

+0

Y at-il une solution stable qui fonctionnera dans tous les navigateurs sans aucun doute? – user198729

+2

Bien sûr. Ajoutez '' explicitement à votre balisage, ne laissez pas de place au hasard :) – Kobi

1

$('table > tr') devrait fonctionner correctement. ou $('table').children('tr').

+0

Après remplacement trouver avec les enfants, il arrête de fonctionner totalement. – user198729

+0

Ça n'a aucun sens que ça arrête de fonctionner. Vous devriez poster un exemple de votre code au cas où vous avez des balises tbody ou quelque chose. – Soviut

+1

@Soviut: $ ('table'). Children ('tr'). Length est 0 – user198729

5
$(this).parents('table:first').find('> tbody > tr, > tr') 

saisira la table et trouver tous les tr de qui sont les enfants directs de tbody et les tr de qui sont des enfants directs du tableau.

devrait fonctionner dans les deux cas où le navigateur ajoute tbody et lorsque le navigateur ne

+0

Ceci est la meilleure solution, IMO. J'ai modifié pour apporter une légère modification au code afin qu'il fonctionne toujours avec les tables imbriquées (trouve seulement les enfants 'tbody' immédiats, pas tous les descendants). – nickf

+0

Pourquoi le vote à la baisse? – PetersenDidIt

Questions connexes