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

.children()的父子问题

<!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() {
        $('.left first-div').children().css('border', '3px solid red') 
    })
    </script>

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

</body>

</html>

要完成【找到所有class=div的元素节点,然后找到其对应的子元素,并且加上一个红色边框
】此要求 为什么第60行不能这样写 而要写成

$('.div').children().css('border', '3px solid red')


正在回答

4 回答

你好~你所写的类选择写错了.33行中<div class="left first-div">的意思是该div有两个class名:一个是left,一个是first-div,而你在60行中写的 $('.left first-div')的意思是选择class名为:left first-div.显然是错误的.

在jquery中,用于选择多个选择器时,应用逗号隔开.如:$('.class1','class2')

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

爱豆是二源儿 提问者

非常感谢!
2017-01-12 回复 有任何疑惑可以回复我~

如果非要想写详细 这么写 $('.left.first-div').children().css('border', '3px solid red')

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

你的选择器写错了,程序根本找不到东西    $('.left first-div').children().css('border', '3px solid red') 你这个的意思是class=left的标签里面的first-div标签的子元素~怎么可能对...

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

举报

0/150
提交
取消
jQuery基础(二)—DOM篇
  • 参与学习       114014    人
  • 解答问题       590    个

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

进入课程

.children()的父子问题

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