我想动态地将一个类添加到表的所有行(第一行和最后一行除外)。我该如何在不为行分配 css 类来识别它们的情况下执行此操作。我目前正在获取除第一行之外的所有内容
$("#id").find("tr:gt(0)")
我需要以某种方式将其与 not("tr:last")
结合起来?
最佳答案
删除gt()
,我认为它比 :first
慢一点.
使用not()
与 :first
结合使用和:last
:
$('table#tbl > tbody > tr').not(':first').not(':last').addClass('highlight');
大多数浏览器会自动添加 tbody
表标记中的元素如果丢失,这就是直接子选择器失败的原因 - 没有 <tr>
作为 <table>
的直接子元素的元素标签。
我不能 100% 确定所有浏览器都是这样做的,所以添加 <tbody>
会更安全。手动。否则你需要一点嗅探,并且无法将其作为一个内衬来完成:
if($('table#tbl > tbody').size() > 0) {
$('table#tbl > tbody > tr').not(':first').not(':last').addClass('highlight');
} else {
$('table#tbl > tr').not(':first').not(':last').addClass('highlight');
}
希望这能解决您的问题!
关于jquery - 获取除第一行和最后一行之外的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2253658/