jquery – 使用类名选择最后一个元素

前端之家收集整理的这篇文章主要介绍了jquery – 使用类名选择最后一个元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这看起来应该很简单 – 但我无法弄明白.
<tr>
    <td class="data-command">1</td>
    <td class="data-column data-column-text">2</td>
    <td class="data-column data-column-text">3</td>
    <td class="data-column data-column-numeric">4</td>
    <td class="data-column data-column-date">4</td>
    <td class="data-column data-column-numeric">4</td>
    <td class="data-command">5</td>
</tr>
<tr>
    <td class="data-column data-column-numeric">6</td>
    <td class="data-column data-column-text">7</td>
    <td class="data-column data-column-text">8</td>
    <td class="data-column data-column-text">8</td>
    <td class="data-column data-column-date">8</td>
    <td class="data-command">10</td>
</tr>

我想在第一个和最后一个< td>中添加填充.在每个< tr>中使用class data-column(因此在上面的示例中,将选择具有2,4,6和9的列).

起初,我尝试使用:last-of-type和:first-of-type CSS selector:

.data-command:first-of-type { padding-right: 10px; }
.data-command:last-of-type { padding-left: 10px; }

但是,这不起作用,因为last-of-type不能与类一起使用.

还有另一种方法来实现这一目标吗?我尝试使用jQuery,但我无法得到任何工作……

更新

我遗漏了另一块拼图.所以我添加到第一列和最后一列的填充类型依赖于另一个类.

如果最后一个.data-column是.data-column-text或.data-column-date,则添加padding-right,否则,不要添加任何填充.

如果第一个.data-column是.data-column-numeric,则添加padding-left,否则不添加任何内容.

解决方法

你可以在每个tr中找到.data-column,然后使用:first和:last DEMO
$('tr').each(function() {
  $(this).find('.data-column:first,.data-column:last').css('color','red')
})

回答更新
在这种情况下,您可以使用hasClass()检查类

$('tr').each(function() {
  var first = $(this).find('.data-column:first');
  var last = $(this).find('.data-column:last')

  if (last.hasClass('data-column-text') || last.hasClass('data-column-date')) last.css('color','red');
  if (first.hasClass('data-column-numeric')) first.css('color','red');
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <td class="data-command">1</td>
    <td class="data-column data-column-text">2</td>
    <td class="data-column data-column-text">3</td>
    <td class="data-column data-column-numeric">4</td>
    <td class="data-column data-column-date">4</td>
    <td class="data-column data-column-numeric">4</td>
    <td class="data-command">5</td>
  </tr>
  <tr>
    <td class="data-column data-column-numeric">6</td>
    <td class="data-column data-column-text">7</td>
    <td class="data-column data-column-text">8</td>
    <td class="data-column data-column-text">8</td>
    <td class="data-column data-column-date">8</td>
    <td class="data-command">10</td>
  </tr>
</table>

猜你在找的jQuery相关文章