/ / Jak dodać klasę do pierwszego td w każdym tr wewnątrz tabeli za pomocą jQuery - jquery, html, jquery-selecters, html-table

Jak dodać klasę do pierwszego td w każdym tr wewnątrz tabeli za pomocą jQuery - jquery, html, jquery-selecters, html-table

Próbuję dodać klasę do pierwszego td wewnątrz tr w obrębie określonej klasy. Ale z jakiegoś powodu dodaje tę klasę tylko do pierwszego td w pierwszym tr - a nie pierwszego td w każdym 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"));
}
);

Ale kiedy zmienię powyższe, usuwając „” td: eq (0) ”, dodaje tę klasę do każdego td w każdym tr ... więc co robię źle?

Przykład znacznika poniżej

<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>

Odpowiedzi:

5 dla odpowiedzi № 1

Wydaje mi się, że używasz skomplikowanego ręcznego sposobu znalezienia tds, do którego chcesz dodać klasę. Myślę, że łatwiej byłoby użyć selektorów jQuery, aby znaleźć swoje tds.

Zastąpić

$("#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"));
}
);

z

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

Znalazłoby to wszystkie trs i dla każdego tr znajdowało pierwsze td i dodało do tego klasę.


2 dla odpowiedzi nr 2

Zmiana "td:eq(0) do "td:first".


2 dla odpowiedzi nr 3

Ta metoda polega na dodaniu leftbord do pierwszego <td> w każdym rzędzie tabeli gridFormInformation:

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