如何使用jquery将类添加到表的最后一个tr

时间:2012-07-27 10:48:28

标签: jquery css-selectors

代码必须使用ie,所以:last不是选项

<table class="ms-main" cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">
<tr>..</tr>
<tr>..</tr>
<tr>..</tr>
<tr class=add this value including class=>..</tr>
</table>

提前谢谢

EDIT1:

如果源文件是这样的话怎么样?

<table class="ms-main" cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">
<tr>..</tr>
<tr>..</tr>
<tr>..</tr>
<tr class=add this value including class=>**<table>more nested tables here</table>**</tr>
</table>

3 个答案:

答案 0 :(得分:1)

:last在IE中有效。

jQuery手动实现,它与浏览器支持的css选择器无关。

$('.ms-main tr:last').addClass('name-of-class');

Here's a nice article关于jQuery实现sizzle选择器和使用querySelectorAll

至于您的修改,您可能希望使用>来表示tr应该是直接的孩子,而不是更远的后代。

$('.ms-main > tr:last')

请注意tbody

答案 1 :(得分:0)

$('table tr').last().addClass('myClass');

IE 6-8中不支持选择器:last-child,使用方法last()查找DOM中的最后一个元素

答案 2 :(得分:0)

<script>
   $("table tr:last").addClass("lastOne");
</script>