关于children的问题?
小白
小白 2016-12-19 17:57:53
0
3
1129

 $('.div').children(':last').css('border', '3px solid blue')
这句我理解的是 查找所有class为div的元素,在这些div的最后一个子元素加样式,

那应该3个 div最后的子元素都有样式啊,为什么只有最后一个div有样式

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title></title>
    <link rel="stylesheet" href="imooc.css" type="text/css">
    <style>
    .left {
        width: auto;
        height: 120px;
    }
    
    .left div {
        width: 150px;
        height: 70px;
        padding: 5px;
        margin: 5px;
        float: left;
        background: #bbffaa;
        border: 1px solid #ccc;
    }
    
    a {
        display: block;
    }
    </style>
    <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
</head>

<body>
    <h2>children方法()</h2>
    <div class="left first-div">
        <div class="div">
            <ul class="level-1">
                <li class="item-1">1</li>
                <li class="item-2">2</li>
                <li class="item-3">3</li>
            </ul>
        </div>
        <div class="div">
            <ul class="level-2">
                <li class="item-1">1</li>
                <li class="item-2">2</li>
                <li class="item-3">3</li>
            </ul>
        </div>
        <div class="div">
            <ul class="level-3">
                <li class="item-1">1</li>
                <li class="item-2">2</li>
                <li class="item-3">3</li>
            </ul>
        </div>
    </div>
    <button id="bt1">点击:children无参数</button>
    <button id="bt2">点击:children传递表达式</button>
    <script type="text/javascript">
    $("#bt1").click(function() {
        //?
    })
    </script>

    <script type="text/javascript">
    $("#bt2").click(function() {
        //找到所有class=div的元素
        //找到其对应的子元素ul,然后筛选出最后一个,给边宽加上颜色
        $('.div').children(':last').css('border', '3px solid blue')
    })
    </script>

</body>

</html>


小白
小白

好好学习,天天向上!!!

全部回复(3)
数据分析师

关于children的问题?-PHP中文网问答-关于children的问题?-PHP中文网问答

围观一下哦,学习一下。

刘奇

因为在children方法后面带了一个参数:last,last是返回被选元素的最后一个元素,所以只有最后一个div会生效,将last去掉,三个div都会生效

迷茫

确实是【查找所有class为div的元素,在这些div的最后一个子元素加样式】,但是要明确的是,div的子元素是ul,,所以$('.div').children获取的是 level-1、level-2、level-3,最后一个子元素是level-3,所以最后只有level-3有样式。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!