在此页面上: https ://weargustin.com/store?filter=all
为什么这个选择器的第一个元素是:
$('div.funded.product:nth-child(3n)')
第二个元素
$('div.funded.product')
?!
在此页面上: https ://weargustin.com/store?filter=all
为什么这个选择器的第一个元素是:
$('div.funded.product:nth-child(3n)')
第二个元素
$('div.funded.product')
?!
问题是 nth-child 循环遍历所有子节点并针对选择器测试它们。它不使用选择器,然后遍历匹配的选择器。因此,正如 PSL 所提到的,您拥有的其他兄弟姐妹项目正在抛弃整个事情。
这是一个分解它的示例小提琴:http: //jsfiddle.net/Ga5Jq/
<div>
<p>test</p>
<span>1</span>
<span>2</span>
<span>3</span>
</div>
$(function() {
alert($("div span:nth-child(3n)").html());
});
上面的代码发出警报2
,因为第二个跨度实际上是div
匹配选择器的第三个孩子,span
.
我认为您想选择该类型的每 3 个,因此您应该尝试使用nth-of-type
而不是,nth-child
因为除了div.funded.product
. 例如,您的 div.product.funding
也作为同一父级的子级进入。
$('div.funded.product:nth-of-type(3n+1)')