如何在每一行中选择具有特定类的最后一个元素?

时间:2016-11-04 19:26:19

标签: javascript jquery

在每一行中都有一些包含类.meow的单元格 如何选择每行中的最后 .meow元素?
下面的代码只选择所有.meows ...

$("tr").each(function(){
  $(".meow").css("border", "3px solid red");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr> <td><div class="meow">Meow</div><td>
       <td>Woof</td>
       <td><div class="meow">Meow</div><td>
  </tr>
  <tr> <td> <div class="meow">Meow</div><td>
       <td><div class="meow">Meow</div></td>
       <td>Woof<td>
   </tr>
  </table>

4 个答案:

答案 0 :(得分:3)

尝试这样

&#13;
&#13;
$("tr").each(function(){
  $(this).find(".meow:last").css("border", "3px solid red");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr> <td><div class="meow">Meow</div><td>
       <td>Woof</td>
       <td><div class="meow">Meow</div><td>
  </tr>
  <tr> <td> <div class="meow">Meow</div><td>
       <td><div class="meow">Meow</div></td>
       <td>Woof<td>
   </tr>
  </table>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

您应该使用querySelector

document.querySelector( ".child:last-of-type" );

你也可以在元素上使用querySelector,所以在每一行都使用它。

https://jsfiddle.net/L5fdhs7d/

答案 2 :(得分:1)

更改

$("tr").each(function(){ $(".meow").css("border", "3px solid red"); });

$("tr").each(function(){ $(this).find(".meow:last").css("border", "3px solid red"); });

https://api.jquery.com/last-selector/

答案 3 :(得分:1)

使用jQuery&#39; last()功能 此外,您需要将搜索结果从当前tr开始,因此请使用$(this).find()

$(this).find(".meow").last().css("border", "3px solid red");