/ / Como adicionar a classe ao primeiro td em cada tr dentro de uma tabela usando jQuery - jquery, html, seletores de jquery, tabela de html

Como adicionar a classe ao primeiro td em cada tr dentro de uma tabela usando jQuery - jquery, html, seletores de jquery, tabela de html

Estou tentando adicionar uma classe ao primeiro td dentro de um tr dentro de uma classe específica. Mas, por algum motivo, ele adiciona essa classe apenas ao primeiro td no primeiro tr - e não ao primeiro td em cada tr

$("#appendTD").find("#gridFormInformation").children(0).children().each(
function() {
if ($("#appendTD").find("tr").filter(function() { return $(this).attr("class") == "ui-widget-content ui-subtblcell"; }).children("td:eq(0)").addClass("leftbord"));
}
);

Mas quando eu altero o item acima removendo o "" td: eq (0) ", ele adiciona essa classe a cada td em cada tr ... então o que estou fazendo de errado?

Exemplo da marcação abaixo

<td id="appendTD">
<table id="gridFormInformation">
<tbody>
<tr><th>1</th><th>2</th><th>3</th></tr>
<tr class="ui-widget-content ui-subtblcell"><td>1</td><td>2</td><td>3</td></tr>
<tr class="ui-widget-content ui-subtblcell"><td>1</td><td>2</td><td>3</td></tr>
<tr class="ui-widget-content ui-subtblcell"><td>1</td><td>2</td><td>3</td></tr>
</tbody>
</table>
</td>

Respostas:

5 para resposta № 1

Parece-me que você está usando uma maneira manual complicada de encontrar os tds aos quais deseja adicionar a classe. Acredito que seria mais fácil usar os seletores jQuery para encontrar seus tds.

Substituir

$("#appendTD").find("#gridFormInformation").children(0).children().each(
function() {
if ($("#appendTD").find("tr").filter(function() { return $(this).attr("class") == "ui-widget-content ui-subtblcell"; }).children("td:eq(0)").addClass("leftbord"));
}
);

com

$("#gridFormInformation tr.ui-widget-content.ui-subtblcell").find("td:first").addClass("leftbord");

Isso encontraria todos os trs e, para cada tr, encontre o primeiro td e adicione a classe a ele.


2 para resposta № 2

mudança "td:eq(0) para "td:first".


2 para resposta № 3

Este método é adicionar leftbord para o primeiro <td> em cada linha da tabela gridFormInformation:

$("#gridFormInformation tr td:first-child").addClass("leftbord");