我有一张桌子,我想选择第n个孩子(3) - nth-child(9), 是他们在jquery / css中选择范围的方法吗?我打算对每个人进行硬编码,但我知道必须有更清洁的方法来做到这一点吗?
有什么想法?
表格:
<table>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
答案 0 :(得分:5)
$('table tbody td:gt(1):lt(7)')
第二个元素之后的
:gt(1):lt(7)
选择元素(索引从0开始,因此:gt(1)引用第二个元素)从第3个元素开始 元素并选择接下来的7个元素
<小时/> .slice()
$('table thead th').slice(2, 9)
.slice(2, 9)
选择从第3个元素开始的第2个元素之后的元素 元素直到第9个元素(包括第9个元素)
答案 1 :(得分:2)
不确定。您可以使用jQuery的slice()
函数,如下所示:
var subset = $('table tbody td').slice(3, 6);
或者您可以按如下方式合并:gt()
和:lt()
选择器:
var subset = $('table tbody td:gt(2):lt(10)');
请注意:我提供的选择器是任意的,用于演示正确的语法。您没有指定要选择的元素,因此可能需要相应地更新选择器。
答案 2 :(得分:0)
尝试:
$("tr:first").find("th").slice(2,9).addClass("select");
$("tr:gt(0)").each(function(){
$(this).find("td").slice(2,9).addClass("select");
});
答案 3 :(得分:0)
试试这个:
--- css ---
TD { 边框:1px固体; 最小宽度:20px; 身高:20px; }
--- --- JavaScript的
$( "td" ).slice( 3, 9 ).css( "background-color", "red" );
您可以看到演示here。