我是jquery的初学者,所以我可能不会理解太多高级的东西,但问题是:当我尝试选择nth-child(1)
时,它会选择第一个,如预期的那样(我知道我可以使用第一个孩子,但我不喜欢它)。但是,如果它已更改为nth-child(2)
,则不会选择任何内容。 nth-child(3)
选择Something2
,nth-child(5)
选择something3
。这对我来说太过分了!
<div id="navigation">
<a href="#">Something</a> <br />
<a href="#">Something2</a> <br />
<a href="#">Something3</a> <br />
</div>
<script>
$('#navigation').find(">:nth-child(1)").css("font-weight", "bold");
</script>
答案 0 :(得分:4)
:nth-child(1)
应该选择第二个元素,因为你传入的索引是零基础的。
问题是您的选择器包含<br />
标签,这是不期望的(从我的角度来看)。
HTML:
<div id="navigation">
<a href="#">Something</a> <br />
<a href="#">Something2</a> <br />
<a href="#">Something3</a> <br />
</div>
JavaScript的:
$('#navigation').children().not('br').eq(1).css("font-weight", "bold");
答案 1 :(得分:0)
nth-child选择器起初有点令人困惑,因为它是父节点的第n个子节点,而不仅仅是与父节点选择器匹配的第n个子节点,选择器不具有此选择器的位置。
要获得你想要的div,请像这样做3n + 1:
$('#navigation:nth-child(3n+1)').css("font-weight", "bold");