老师为什么只能查到第一个却查不到最后一个~

老师为什么只能查到第一个却查不到最后一个~

<!doctype html>
<html>
<head>
    <title></title>
    <meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
    <style type="text/css">
        .left{
            background-color:yellow;
            opacity:0.5;
        }
    </style>
</head>
<body>
    <!-- Body -->
    <div>
        <!-- <ul>
            <li>HTML</li>
            <li>CSS</li>
            <li>JavaScript</li>
            <li>Jquery</li>
            <ol>
                <li>前端</li>
                <li>后端</li>
            </ol>
            <li>HTML5</li>
            <li>CSS3</li>
            <li>移动端</li>
        </ul> -->
        <div>
            <p name="p1">HTML5</p>
            <p name="p1">CSS3</p>
            <p name="p1">JavaScript</p>
            <p name="p1">Jquery</p>
            <p name="HTML">HTML</p>
            <p name="CSS">CSS</p>
        </div>
    </div>
    <!-- jquery -->
    <script type="text/javascript" src="1.12.4.js"></script>
        <!-- js -->
        <script type="text/javascript">
            $(document).ready(function(){
                $('[name="p1"]:last-child').addClass('left');
                $('[name="p1"]:first-child').addClass('left');
            });
        </script>
</body>
</html>


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

last-child表示查找最后一个元素 , 不论元素的类型 ,也就是说 , $('[name="p1"]:last-child')查找的最后一个元素 ,并且这个元素的name为p1, 为其添加类名 , 如果最后一个查到不到符号要求的 , 类名就添加不上了 , 代码中最后一个元素 为name="CSS" ,不符合查找的添加, 所以没有添加上.

希望能解答你的疑惑 ,祝学习愉快 ! 望采纳


  • 慕神6715844 提问者 #1
    不是应该查找name=p1的最后一个吗?
    2018-08-20 17:12:04
  • 慕神6715844 提问者 #2
    还是不理解
    2018-08-20 17:12:30
好帮手慕夭夭 2018-08-20 17:20:35

last-child查找的是最后一个元素,如下:

http://img1.sycdn.imooc.com//climg/5b7a87130001b1c804950193.jpg

$('[name="p1"]:last-child')并不是在符合name="p1的元素中查找最后一个 , 也就是说 ,它既符合位置上最后一个 , 也要符合name="p1"时才会选中 ,如下就能被选中

http://img1.sycdn.imooc.com//climg/5b7a879200014a4b03860161.jpg

可以测试一下 , 加深理解哦 ,祝学习愉快 ,望采纳


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师