jQuery使用nth-child而不是first来追加

时间:2015-06-03 17:57:23

标签: jquery jquery-selectors

我正在编辑最初类似

的脚本
$('.navigation-area:first').append('<li>New Item</li>');

但是应用程序已经更改,并且此项需要附加到第二个.navigation-area。我试过了:

$('.navigation-area:nth-child(1)').append('<li>New Item</li>');

但是没有用。

对于如何做到这一点还有其他建议吗?我会假设上述情况会奏效。有什么特别的原因吗?

谢谢,

2 个答案:

答案 0 :(得分:2)

在jQuery中,它是:eq().eq()

$('.navigation-area:eq(1)').append('<li>New Item</li>');

$('.navigation-area').eq(1).append('<li>New Item</li>');

编辑:根据jQuery&#39; s :eq()的文档:

  

请注意,由于JavaScript数组使用基于 0的索引,因此这些   选择者反映了这一事实。这就是$( ".myclass:eq(1)" )选择的原因   文档中的第二个元素是类myclass,而不是   首先。相反,:nth-child(n)使用基于 1的索引来符合   到CSS规范。

所以,您也可以尝试:

$('.navigation-area:nth-child(2)').append('<li>New Item</li>');

答案 1 :(得分:2)

你可以试试这个:

$('.navigation-area:eq(1)').append('<li>New Item</li>');