jq: dom-删除、包裹

本文深入讲解了jQuery中元素操作的方法,包括替换、清空、删除、克隆、包裹等核心功能,通过具体示例展示了如何使用replaceAll、replaceWith、empty、remove、detach、clone、wrap、wrapAll、wrapInner及unwrap等API。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

replaceAll() 使用元素把什么元素替换

        <!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>Page Title</title>
</head>
<body>
    <ul>
        <li class="one">one</li>
        <li class="two">two</li>
    </ul>
    <li class="three">three</li>
    <script src="../jquery-3.4.1.js"></script>
    <script>
 $('.three').replaceAll($('.two'));
    </script>
</body>
</html>
      

v2-1906560bd4f77750f4f70073fe52d88e_b.jpg

replaceWith() 希望元素被什么元素替换

        $('.one').replaceWith($('.three'));

      

v2-37149df7c740bee46fe0bca4bf48b383_b.jpg

empty() 把元素的子元素都清空

        $('ul').empty();

      

v2-5645cd98d357bf89d5813efd93cf1569_b.jpg
        $('ul').html('');
$('ul').text('');

      

使用这两个方法也可以达到empty清空的方法。


删除方法: remove() 和 detach()

他们都是一模一样的删除方法,唯一的区别在于remove删除元素后,返回删除的元素不包含了事件函数;而detach删除之后返回的元素,还保留着事件函数。如:

        var one = $('.one').click(function() {
    $(this).remove();
});
var two = $('.two').click(function() {
    $(this).detach();
})

$('.add').click(function() {
$('ul').append(function() {
    return one.add(two)
    })
})

      

v2-8aa37fbeb6270dc75b21ee28a63678ba_b.gif

clone 克隆元素

默认普通克隆,不会克隆事件函数

        var clone1 = $('.one').clone();  // 克隆元素后赋值
$('.clone').click(function() {   // 点击按钮添增
    $('ul').append(clone1);
})

      

v2-3cf19f9793d3e470ac1346c8adecf3e7_b.gif

如果传参true,那么也可以克隆事件函数

        var clone1 = $('.one').clone(true);

      

v2-3e2f4de9c9c21741dcd497dd18a6eaca_b.gif

wrap() 在元素上包裹一层什么元素

如:

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

      

v2-665c9e158bb721faba8e2f3b5efe7ce8_b.jpg

wrapAll() 把相同的元素合集包裹

先选中谁,就把其他的拿过来一起包裹。

        <ul>
    <li class="one">one</li>
    <li class="two">two</li>
</ul>
<li>我不在ul中</li>
<script src="../jquery-3.4.1.js"></script>
<script>
    $('li').wrapAll('<div></div>')
</script>

      

v2-6c1d2a5e1d8f9c676fc7a3e9973dd25e_b.jpg

wrapInner() 在元素的里层包裹

        $('li').wrapInner('<a></a>')
      

v2-56660efd4897f2bbcc7c1b9e1b9d09f8_b.jpg

unwrap() 解除元素的上层包裹(body不可以接触),不需要传参。

        $('li').unwrap()

      

v2-596453b7f80063c436d68f3ec2b302de_b.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值