为什么下面的代码不能将每个ul下最后一个li加上边框

来源:6-1 jQuery遍历之children()方法

ltinyho

2016-09-08 23:01

$('.div ul').children(":last").css('border', '3px solid blue')

写回答 关注

4回答

  • html2015
    2016-09-26 16:26:49
    已采纳

    因为children()这个方法只能返回匹配元素集合中每个元素的所有元素(仅儿子辈),div下的儿子辈是只是ul,li是div孙子辈的,所以无法显示。

    ltinyh...

    不对吧,$('.div ul')匹配的就是ul了,ul的children就是li,我直接用find(“li”)就不用加ul了

    2016-10-18 19:24:38

    共 2 条回复 >

  • 哎哟Zhou哥哥
    2016-11-06 11:06:48

    children(':last')返回ul所有子元素的最后一个

  • vibrate
    2016-09-14 11:48:43

    .children(selector) 方法是返回匹配元素集合中每个元素的所有子元素

    所以这个:last筛选是从符合$('.div ul')的所有子元素中选择最后一个,而不是三个$('.div ul')的子元素分别处理,如果想达到你需要的效果应该用 $('.div ul .item-3').css('border', '3px solid blue')

  • rookie_r
    2016-09-09 05:40:01

    可以啊,代码在页面中编辑器的话,有时不知道什么原因会没有边框,但是把代码复制粘贴到自己本地的浏览器测试,是可以的,你自己试一下

jQuery基础(二)—DOM篇

jQuery第二阶段开启DOM修炼,了解创建、插入、删除与替换

114012 学习 · 590 问题

查看课程

相似问题