Нацеливание на первый TD, но не в 1-й строке с jQuery

#jquery

#jquery ( jquery )

Вопрос:

Мне нужно добавить css в первый столбец таблицы, все, кроме первой строки.

Могу ли я сделать что-то вроде: $(«.myTbl tr td:not(:nth-child(1))»).css(

Ответ №1:

Больше похоже:

 $('.myTbl tr:not(:first) td:first').css( ... )
 

То есть первый td в каждой строке, который не является первой строкой в таблице, а только в таблицах с классом myTbl . Вы можете также указать, рассматриваете ли вы строки заголовка как отличные от строк тела. Если вы разделили их на разделы заголовка / тела и хотите только строки тела, вы можете получить это.

 $('.myTbl tbody tr td:first').css( ... )
 

Примечание: я не обращаюсь к вложенным таблицам с этим. Если у вас есть вложенные таблицы, вы, вероятно, захотите быть более явным, используя прямые дочерние элементы, а не отношения предок / потомок.

 $('.myTbl > tbody > tr > td:first').css( ... )
 

Ответ №2:

Вы игнорируете первую строку, потому что это строка заголовка? Возможно ли поместить эту первую строку в a и добавить свой css в строки внутри?

Ответ №3:

Вы могли бы поместить свою первую строку в a <thead> , а затем просто нацелить первую <tr> в своем <tbody> .

 <table class="mytable">
  <thead>
    <tr>
      <th>Something</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Data</td>
    </tr>
  </tbody>
</table>

$(".mytable tbody tr td:first").css("something", "else");