Select 除了第一个 N - CSS Select 或者
Select all Children except first N - CSS Selector
<td>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</td>
我想获取除前 3 个以外的所有 p
。
我就是这样做的
td p:not(:nth-child(1),:nth-child(2),:nth-child(3))
但是如果我想要除前 20 个以外的所有 p
怎么办?我必须像上面那样手动编写吗?
更易于使用 :gt(index)
选择器。这将收集索引大于选择器索引
的匹配元素
$('td p:gt(19)');
请注意,传递的索引是从零开始的,因此对于超过 20 个元素,使用索引 19
这应该有效。
td p:nth-child(n+5){
color: red;
}
<table>
<tr>
<td>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
</td>
</tr>
</table>
因此:
td p:nth-child(n+21)
到 select 除了前 20 秒之外的所有 p。
尝试
var p = $("td p").slice(20);
$(function() {
for (var i = 0; i < 30; ++i) {
$("table td").append("<p>" + i)
}
var p = $("td p").slice(20);
p.html(function(i, html) {
return html.replace(/.*/, Math.random())
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
<td></td>
</table>
如果你想获得除前 3 个以外的所有 p :
$("td p:gt(2)");
<td>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</td>
我想获取除前 3 个以外的所有 p
。
我就是这样做的
td p:not(:nth-child(1),:nth-child(2),:nth-child(3))
但是如果我想要除前 20 个以外的所有 p
怎么办?我必须像上面那样手动编写吗?
更易于使用 :gt(index)
选择器。这将收集索引大于选择器索引
$('td p:gt(19)');
请注意,传递的索引是从零开始的,因此对于超过 20 个元素,使用索引 19
这应该有效。
td p:nth-child(n+5){
color: red;
}
<table>
<tr>
<td>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
</td>
</tr>
</table>
因此:
td p:nth-child(n+21)
到 select 除了前 20 秒之外的所有 p。
尝试
var p = $("td p").slice(20);
$(function() {
for (var i = 0; i < 30; ++i) {
$("table td").append("<p>" + i)
}
var p = $("td p").slice(20);
p.html(function(i, html) {
return html.replace(/.*/, Math.random())
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
<td></td>
</table>
如果你想获得除前 3 个以外的所有 p :
$("td p:gt(2)");