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

还是那个问题

 $("ol:first-child").css("background-color", "green");

我已经缩了(如下),ol的first-child应该是芹菜啊

<ol><li>芹菜</li>

            <li>茄子</li>

            <li>萝卜</li>

            <li>大白菜</li>

            <li>西红柿</li>

        </ol>

        <ol><li>橘子</li>

            <li>香蕉</li>

            <li>葡萄</li>

            <li>苹果</li>

            <li>西瓜</li>

        </ol>


正在回答

5 回答

你这样写相当于寻找的是ol的所有父元素的第一个子元素集,找的是与ol同级的,是找不到li的,除非写li:first-child,这才是找li的所有父元素的第一个子元素集,才会找到芹菜

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

Mr_Jp黎 提问者

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

正确写法

$("ol>li:first-child")

由于编辑器的网页中没有与ol同级的其他元素,所以ol可以省略,你可以试试给ol加个兄弟元素,此时如果你只写li:first-child,就会把ol兄弟元素的第一个子元素也选择进去,这不符合要求,谢谢!


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

应该是:前面的那里去找他的第一个孩子,如果是ol那就应该去ol里找第一个孩子,你可以这样写

<ol>

        <ol>周杰伦</ol>

            <li>芹菜</li>

            <li>茄子</li>

            <li>萝卜</li>

            <li>大白菜</li>

            <li>西红柿</li>

        </ol>

那你的ol:first-child就显示的是ol的第一个孩子,就应该是周杰伦变色了,总之,A:first-chlid那孩子必定是从A集合去找,这是我的理解哈,如果有错还请指出


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

我的理解是冒号(:)相当于过滤,冒号前面需要写从哪个集合中去过滤,冒号后面需要写位置信息如first、last、first-child、last-child、eq(index)等

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

 说说我的理解啊,$("li:first-child")是等价于$("ol li:first-child")的,前者相当于省略了父元素ol。楼主可以试试。

所以你写成 $("ol:first-child")是错的。

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

举报

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

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

进入课程

还是那个问题

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