J'ai ce code dans jQuery:
children('table').children('tbody').children('tr').children('td')
Ce qui obtient toutes les cellules de table pour chaque rangée. Ma question est la suivante: comment puis-je obtenir la valeur du texte dans chaque cellule de chaque ligne?
Devrais-je utiliser .each()
pour boucler tous les children('td')
? Comment puis-je obtenir la valeur du texte de chaque td
?
Tout d'abord, votre sélecteur est une overkill. Je suggère d'utiliser un sélecteur de classe ou ID comme mon exemple ci-dessous. Une fois que vous avez corrigé votre sélecteur, utilisez simplement le .each () de jQuery pour itérer à travers la collection:
Sélecteur ID:
$('#mytable td').each(function() { var cellText = $(this).html(); });
Sélecteur de classe:
$('.myTableClass td').each(function() { var cellText = $(this).html(); });
Information additionnelle:
Jetez un coup d'oeil aux documents du sélecteur jQuery .
Vous pouvez utiliser .map
: http://jsfiddle.net/9ndcL/1/ .
// array of text of each td var texts = $("td").map(function() { return $(this).text(); });
Je donnerais à votre tds une classe spécifique, par exemple une cellule de données , puis utilisez quelque chose comme ceci:
$("td.data-cell").each(function () { // 'this' is now the raw td DOM element var txt = $(this).html(); });