2016-11-04 83 views
0

在每一行中都有一些包含类.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>

+2

你试过'$( “喵 ”)。最后的()。CSS(“ 边界”,“3px的实红色“);' – Theo

+0

当然,它只是选择整个表中的最后一个喵。 –

+0

DOH,对不起!这会得到最后一个.meow PERIOD,而不是每行的最后一个...请参阅下面的解答的答案。 – Theo

回答

3

尝试像这样

$("tr").each(function(){ 
 
    $(this).find(".meow:last").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>

+0

您的目标是所有'tr's,而它应该是当前的 –

+0

糟糕...更正了代码。 – Theo

2

你应该只使用querySelector

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

而且你可以在元素中使用querySelector太多,所以使用它在每一行上。

https://jsfiddle.net/L5fdhs7d/

+0

是的,但为什么当你有jQuery使用? –

+0

@Iwrestledabearonce。因为速度更快,完全支持和标准,并且完美运作。 –

+1

是的,但如果他的项目已经大量使用jquery,为了保持一致性,他应该继续这样做...... :) –

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/

+0

它只是选择最后一个喵,在整个表中。不在每一行中。 –

+0

我的坏我没有看到 - 现在更新了答案,但我看到Theo在我之前得到了:p – Jackthomson

1

使用jQuery的last()功能。
此外,您需要将您的搜索从当前的tr中删除,因此请使用$(this).find()

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

+0

工作正常,thanx –

相关问题