Domanda

Sto cercando di aggiungere una classe al primo TD in una tr all'interno di una classe specifica. Ma per qualche ragione si aggiunge questa classe solo per il primo td nel primo TR -non il primo TD in ogni 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"));
                }
            );

Ma quando ho alterare il sopra rimuovendo il simbolo "?" Td: eq (0)" si aggiunge questa classe per ogni td in ogni tr ... così che cosa sto facendo di sbagliato

Esempio di markup seguente

<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>
È stato utile?

Soluzione

Sembra a me come si sta utilizzando un metodo manuale complicato per trovare la TDS che si desidera aggiungere alla classe a. Credo che sarebbe più facile da utilizzare selettori jQuery per trovare il tuo TDS.

Sostituire

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

con

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

Questo sarebbe trovare tutti i TRS e per ogni TR trovare il primo td e aggiungere la classe a questo.

Altri suggerimenti

Cambia 'td:eq(0) a 'td:first'.

Questo metodo è quello di aggiungere leftbord alla prima <td> in ogni riga della tabella gridFormInformation:

$('#gridFormInformation tr td:first-child').addClass('leftbord');
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top