Snažím sa pridať triedu k prvému td vo vnútri tr v rámci konkrétnej triedy. Ale z nejakého dôvodu pridá túto triedu iba k prvému td v prvom tr - nie prvý td v každom 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 keď zmením vyššie uvedené odstránenie "" td: eq (0) ", pridá túto triedu do každého td v každom tr ... takže čo robím zle?
Príklad označenia nižšie
<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>
odpovede:
5 pre odpoveď č. 1Vyzerá to, že používate zložitý manuálny spôsob, ako nájsť tds, do ktorého chcete pridať triedu. Verím, že by bolo ľahšie použiť selektory jQuery na nájdenie tds.
vymeniť
$("#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"));
}
);
s
$("#gridFormInformation tr.ui-widget-content.ui-subtblcell").find("td:first").addClass("leftbord");
To by nájsť všetky trs a pre každý tr nájsť prvý td a pridať triedu k tomu.
2 pre odpoveď č. 2
zmena "td:eq(0)
na "td:first"
.
2 pre odpoveď č. 3
Táto metóda sa má pridať leftbord
na prvé <td>
v každom riadku tabuľky gridFormInformation
:
$("#gridFormInformation tr td:first-child").addClass("leftbord");