- 15天学会jQuery编程与实战(视频教学版) (Web前端技术丛书)
- 刘鑫
- 598字
- 2020-11-28 16:21:46
3.4 从页面中删除元素
从网页上删除节点也是日常工作中经常遇到的一种操作,jQuery提供了两个可以用来从DOM元素树中移除节点的方法,分别是:
● remove()方法 用来删除指定的DOM元素。它会将节点从DOM元素树中移除,但是会返回一个指向DOM元素的引用,因此并不是真正地将jQuery引用的元素对象删除,可以通过这个引用继续操作元素。
● empty()方法 该方法将不会删除节点,只是清空节点中的内容,DOM元素依然保持在DOM元素树中。
remove()方法会将元素从DOM对象树中移除,但是不会把引用这些对象的jQuery对象删除,因此还是可以使用jQuery对象进行操作。而empty是将元素中的内容清空。接下来创建一个名为dynamic_remove.html的网页,插入一些HTML元素,然后分别演示使用remove和empty的效果。
【示例3-4】dynamic_remove.html
01 <body> 02 <div id="idwelcome">演示使用remove和empty的方法<br/></div> 03 <div id="idtip"><b>remove方法会从DOM树中移除节点</b><br/></div> 04 <div id="idsenc"><b>empty方法只是清除元素的内容</b><br/></div> 05 <div><input name="btnremove" type="button" id="btnremove" value="remove 方法" /> 06 07 <input name="btnempty" type="button" id="btnempty" value="empty方法" /> 08 </div> 09 </body>
可以看到,在body区使用了3个div用来显示消息,另外两个div中放置了两个按钮,分别用来调用remove方法和empty方法。这两个按钮的事件处理代码如下:
01 <script type="text/javascript" src="../jquery-3.1.1.js"></script> 02 <script type="text/javascript"> 03 $(document).ready(function(e) { 04 $("#btnremove").click( 05 function(){ 06 var id1=$("#idtip").remove(); //移除DOM对象 07 $("body").append(id1); //重新添加已被移除的DOM对象 08 }); 09 $("#btnempty").click( 10 function(){ 11 var id1=$("#idsenc").empty(); //清除DOM对象 12 //重新添加DOM对象的内容 13 id1.append("这是重新添加的内容哦,原来的内容已被清除了!"); 14 }); 15 }); 16 </script>
Remove按钮内部调用了remove方法,尽管这个元素已经从DOM中移除了,不过jQuery仍然引用这个对象,因此可以将其再次添加到body中,使之经历删除又添加的过程。Empty只是清除DOM中的内容,重新向div中添加元素,单击两个按钮后的效果如图3.5所示。
图3.5 移除元素后的效果