问答详情
源自:5-3 DOM包裹wrap()方法

return '<div class="' + $(this).text() + '" />';?

<!DOCTYPE html>

<html>


<head>

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

    <title></title>

    <script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script>

    <style>

    .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包裹wrap()方法</h2>

    <div class="left">

        <button class="aaron1">点击,通过wrap方法给p元素增加父容器div</button>

        <button class="aaron2">点击,通过wrap的回调方法给a元素增加父容器div</div>

    </div>

    <div class="right">

        <p>p元素</p>

        <p>p元素</p>

    </div>

    <div class="left">

        <a>a元素</a>

        <a>a元素</a>

    </div>

    <script type="text/javascript">

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

        //给所有p元素,增加父容器div

        $('p').wrap('<div></div>')

    })

    </script>

    <script type="text/javascript">

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

        $('a').wrap(function() {

            return '<div class="' + $(this).text() + '" />';????

        })

    })

    </script>

</body>


</html>


提问者:web_東 2018-03-15 01:26

个回答

  • smallfish001
    2019-08-08 20:47:52

    我第一次看也是相同的疑问,但功能却实现了,我就猜测是不是

    $('p').wrap('<div>');
    $('p').wrap('<div></div>');
    $('p').wrap('<div/>');

    这三者是等价的,于是测试了一下,果然如此

  • 充电使我快乐
    2019-04-30 18:30:36

    这个class就没有起作用

  • Spiner_0
    2018-03-15 20:27:43

    $(this).text()中的this指代元素a,即$("a").text(),意思是a元素,class="'a元素'",类选择器的值‘a元素’,添加的并没啥作用。