J'utilise JQuery pour parcourir tous les TR dans un tableau,
mais toutes les lignes n'ont pas de valeurs dans la première cellule.
<TR>
<TD>3</TD>
<TD>2</TD>
<TD>1</TD>
</TR>
<TD></TD>
<TD>3</TD>
<TD>2</TD>
<TR>
</TR>
<TR>
<TD></TD>
<TD></TD>
<TD>3</TD>
</TR>
Comment puis-je cibler le premier TD de chaque ligne qui n'est pas vide et pas seulement le premier enfant?
Merci!
Voici une solution plus simple et plus élégante:
$('tr').find('td:not(:empty):first').css('background', 'red');
Fiddle: http://jsfiddle.net/dandv/JRcEf/
Cela dit simplement dans jQuery ce que vous voulez dire: "ciblez le premier td
dans chaque tr
qui est pas vide".
Ceci trouve le premier enfant non vide td
dans chaque tr
:
$("tr").each(function() {
var $firstNonEmptyCell;
$(this).children("td").each(function() {
var $td = $(this);
if ($td.text() === "") {
$firstNonEmptyCell = $td;
return false; // Breaks `each` loop
}
});
// ...use `$firstNonEmptyCell` here
});
Ou si vous voulez un wrapper jQuery pour tous les non-blancs, c'est un cas d'utilisation trivial pour filter
:
$("tr").each(function() {
var nonBlankCells = $(this).children("td").filter(function() {
return $(this).text() !== "";
});
// Use `nonBlankCells` here
});
var tds = [];
$('#tableId tr').each(function()
{
$(this).find('td').each(function()
{
if ( $(this).html() != '' )
{
tds.Push($(this));
return false;
}
});
});
et voila dans la variable tds
vous avez obtenu vos tags td