jQuery 学习6 删除元素
上节课我们做了添加元素,模拟的是楼主发的文章,路人评论,那么同学们这节课学了删除之后,去之前的代码上添加一个删除,模拟一个楼主删除路人的评论。
jQuery的删除方法:
- remove() - 删除被选元素(及其子元素)
- empty() - 从被选元素中删除子元素
为了同学们更好的扩展,老师就不在上节课的基础上模拟删除,而是写出删除的功能代码和注意事项,同学们就自己多尝试,来瞧瞧代码先:
<!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依旧存在,不过内容、元素等都被删除了。
本节课学的删除操作很简单,难点在于扩展,就看同学们在实战中,能否合理运用。