2009-12-12 6 views
1

Existe-t-il un moyen dans jQuery de dire combien de cellules se trouvent dans une rangée sélectionnée? Par exemple, je parcours les lignes via:jQuery - Combien de cellules dans une rangée

$("#statsId > table tbody tr").each (function() { 
    var secondCol = $(this).find('td:nth-child(2)').html(); 
    var thirdCol= $(this).find('td:nth-child(3)').text(); 

et je souhaite récupérer les valeurs des deuxième et troisième cellules. Cependant quand je fais cette itération les valeurs de cellules reviennent nulles quand je sais qu'elles ne sont pas. Je pensais que s'il y avait un moyen de vérifier le nombre de cellules/colonnes dans la ligne sélectionnée, je pourrais au moins vérifier qu'il y a trois cellules dans le sélecteur. Ou peut-être mon sélecteur pour "secondCol" et "thirdCol" est faux. Toute aide est appréciée.

Répondre

3

Vous pouvez l'utiliser pour tester:

if($(this).children('td').length >= 3) { 
    ... 
} 

Mais aussi jouer avec l'aide :eq() ainsi:

var secondCol = $(this).find('td:eq(1)').html(); 
var thirdCol= $(this).find('td:eq(2)').text(); 
1
$('#myRow').children().size() 

C'est l'approche la plus simple que je peux penser, mais ce n'est pas infaillible.

+1

enfants permet un sélecteur de filtre, de sorte que vous pourriez faire $ (« # ligne ») .children ('td'). size() et assurez-vous de n'obtenir que des colonnes. – Juan

0
$("#statsId > table tbody tr").each(function() { 
    var cells = $(this).find('td').size(); 
    ... 
1
var currentRow = <jQuery object for current row>; 
var currentRowCellCount = $('td', currentRow).length; 

Ce simplement vous donne accès au nombre total de td éléments dans une ligne donnée.

Questions connexes