jQuery 学习6 删除元素

上节课我们做了添加元素,模拟的是楼主发的文章,路人评论,那么同学们这节课学了删除之后,去之前的代码上添加一个删除,模拟一个楼主删除路人的评论。

jQuery的删除方法:

  • remove() - 删除被选元素(及其子元素)
  • empty() - 从被选元素中删除子元素

以上引用w3c教程

 

为了同学们更好的扩展,老师就不在上节课的基础上模拟删除,而是写出删除的功能代码和注意事项,同学们就自己多尝试,来瞧瞧代码先:

 

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>jQuery 学习6 删除元素</title>
    <!--使用jQuery一定不要忘记引用jQuery文件-->
    <script src="../js/jquery-1.12.2.min.js"></script>
</head>
<body>
<div class="div">
    我是第一个div元素
    <span>第一个div里面的span元素</span>
</div>
<div>
    我是第二个div哟
    <b>第二个div下面的b元素</b>
    <span>第二个div下面的span元素</span>
</div>
<div class="div">我是第三个div</div>
<!--以上给出三个div测试效果-->
<br/>
<!--给三个按钮事件-->
<button onclick="shanchu1()">删除div</button>
<button onclick="shanchu2()">过滤删除div里class="div"的</button>
<button onclick="shanchu3()">删除div里的子元素</button>

<script>
    //shanchu1事件,删除所有div元素
    function shanchu1(){
        $("div").remove();
        //remove()删除方法
    }
    //shanchu2事件,删除div里,只有class="div" 的元素
    function shanchu2(){
        $("div").remove('.div');
        //只会删除div元素里面带有class并且值等于div的元素
    }
    //shanchu3事件,删除div里面的所有子元素
    function shanchu3(){
        $("div").empty();
        //删除被选元素下的所有子元素(包括内容)
    }
</script>
</body>
</html>

 

以上,我们在页面,打开检查代码,可以看到,执行shanchu1事件,所有div都被删除,同学们注意,这里是删除,并非隐藏,检查代码里的div也就消失了,而不是添加display属性隐藏哦。

remove()删除方法,它还可以带一个参数,就是过滤条件,在div元素里过滤,过滤条件是class="div",所以我们在remove的括号里,带一个参数,写法和前的$("")是一样的,也就是找到,指定的意思,那么我们调用shanchu2事件,可以看到,只有第一个和第三个div被删除,因为过滤条件指向了它们。

shanchu3事件,里面用的是empty()方法,它也是删除,但不是删除此元素,而是删除此元素下面的所有元素,包括内容。所以我们检查源码会发现,三个div依旧存在,不过内容、元素等都被删除了。


本节课学的删除操作很简单,难点在于扩展,就看同学们在实战中,能否合理运用。