为了账号安全,请及时绑定邮箱和手机立即绑定

$("li:eq(2)")和$("li:nth(2)")一样么?不知道元素索引号,怎么选倒数第2个元素?

<script type="text/javascript">

            $("li:eq(2)").css("background-color", "#60F");

        </script>

<script type="text/javascript">

            $("li:nth(2)").css("background-color", "#60F");

        </script>


正在回答

5 回答

$("li:nth-child(2)")选择器与$("li:eq(2)")选择器的不同之处在于:
$("li:eq(2)")选择器只匹配一个元素,并且是所有匹配到的元素中的第2+ 1个元素(索引index从0开始算起);
$("li:nth-child(2)")选择器则需要判断匹配到的元素是否是其父元素的第2个子元素或符合其他特定要求(序号n从1开始算起),如果是就保留,否则将被舍弃。

 $("li:eq(-2)")就选择到了倒数第二个元素


6 回复 有任何疑惑可以回复我~
#1

GoingForward 提问者

非常感谢!
2016-04-05 回复 有任何疑惑可以回复我~

1、':eq(index)'获取当前第“index”的元素,":nth-child(index)"则为每一个父元素匹配第“index”的子元素。

2、:nth-child从1开始的,而:eq()是从0算起的。

3、“怎么选倒数第2个元素?”你要理解了前两个问题就会第三个了,作为检验吧。


0 回复 有任何疑惑可以回复我~

https://blog.pivotal.io/labs/labs/css-first-child-nth-child-and-last-child-are-not-like-eq

0 回复 有任何疑惑可以回复我~

:nth-child(n)选择器则需要判断匹配到的元素是否是其父元素的第n个子元素或符合其他特定要求(序号n从1开始算起),如果是就保留,否则将被舍弃。

0 回复 有任何疑惑可以回复我~

nth-child(n)选择器与:eq(index)选择器的不同之处在于:
:eq(index)选择器只匹配一个元素,并且是所有匹配到的元素中的第index + 1个元素(索引index从0开始算起);
:nth-child(n)选择器则需要判断匹配到的元素是否是其父元素的第n个子元素或符合其他特定要求(序号n从1开始算起),如果是就保留,否则将被舍弃。

可以 var ss=document.getElementsTagName("li");$("li:eq(ss.length-2)").css("background-color","#60F")

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程

$("li:eq(2)")和$("li:nth(2)")一样么?不知道元素索引号,怎么选倒数第2个元素?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信