为什么给class=right1的div元素增加内部包裹父容器p之后,div容器会被撑大?

来源:5-6 DOM包裹wrapInner()方法

慕粉2236556370

2017-03-17 09:47

<!DOCTYPE html>

<html>


<head>

    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />

    <title></title>

    <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>

    <style>

    .left,

    .right {

        width: 250px;

        height: 130px;

        border:1px solid black;

    }

    

    .left div,

    .right div {

        width: 100px;

        padding: 5px;

        margin: 5px;

        float: left;

        border: 1px solid #ccc;

        background: #bbffaa;

    }

    

    .right div {

        background: yellow;

    }

    p {

        border: 1px solid red;

    }

    

    a {

        border: 1px solid blue;

    }


    </style>

</head>



<body>

    <h2>DOM包裹wrapInner()方法</h2>

    <div class="left">

        <div class="aaron1">点击,通过wrapInner方法给所有div元素增加内部父容器p</div>

        <div class="aaron2">点击,通过wrapInner的回调方法给每个div元素增加内部父容器a</div>

    </div>

    <div class="right">

        <div class="right1">p元素</div>

        <div class="right1">p元素</div>

    </div>

    <div class="left">

        <div class="left1">a元素</div>

        <div class="left1">a元素</div>

    </div>



    <script type="text/javascript">

    $(".aaron1").on('click', function() {

        //给所有class=right1的div元素,增加内部包裹父容器p

       $('.right1').wrapInner('<p></p>');

    })

    </script>

    <script type="text/javascript">

    $(".aaron2").on('click', function() {

        //wrapInner接受一个回调函数

        //每一次遍历this都指向了合集中每一个class=left1的div元素

        $('.left1').wrapInner(function() {

            return '<a></a>'

        })

    })

    </script>

</body>


v</html>


写回答 关注

4回答

  • qq_逐梦之旅GO_0
    2018-10-30 22:51:25

    p元素为块元素,有默认外边距,a为行内元素,默认外边距为0

  • Neopolitan
    2017-10-25 19:04:16

    p元素为块元素,有默认外边距,a为行内元素,默认外边距为0

  • NullMoneyException
    2017-05-17 18:37:49

    可能是默认样式的原因 清除默认的padding 和margin 再试试

  • 榴莲痴汉
    2017-03-17 13:36:40

    p元素,自己占一行,跟div一个性质。a不会占行

    榴莲痴汉

    不太准确,跟div也有区别,反正就是会占行

    2017-03-17 13:37:51

    共 1 条回复 >

jQuery基础(二)—DOM篇

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

114012 学习 · 590 问题

查看课程

相似问题