jQuery 删除元素
通过 jQuery,可以很容易地删除已有的 HTML 元素。
删除元素/内容
如需删除元素和内容,一般可使用以下两个 jQuery 方法:
- remove() - 删除被选元素(及其子元素)
- empty() - 从被选元素中删除子元素
jQuery remove() 方法
jQuery remove() 方法删除被选元素及其子元素。(包括清空事件,释放了内存,解决了内存泄漏的问题)
$("#div1").remove();
jQuery empty() 方法
jQuery empty() 方法删除被选元素的子元素。(包括清空事件,释放了内存,解决了内存泄漏的问题)
$("#div1").empty();
jQuery html("") 方法
清空内容,但是若是有事件的话还会保留,缺点在于会占用内存,虽然有时候占有内存不多但是总归是占有一定的空间。
$("div").html();//仅仅清空元素的内容,会保留事件
过滤被删除的元素
jQuery remove() 方法也可接受一个参数,允许您对被删元素进行过滤。
该参数可以是任何 jQuery 选择器的语法。
下面的例子删除 class="italic" 的所有 <p>
元素:
$("p").remove(".italic");
笔记
笔记一
如果子元素符合过滤器中条件而父元素不符合的话,是不会删除符合条件的子元素,即过滤器中条件只能作用于同级,不能作用于子元素。
$(document).ready(function(){
$("button").click(function(){
$("#div1").remove(".part");
});
});
笔记二
对楼上进行补充:
$(selector) 语法的返回结果是一个元素的列表,即:将 $("#div1") 看作一个列表,remove() 中的筛选条件实际上是对这个列表中的元素进行筛选删除,而不会去删除这个列表中不存在的元素(子元素不在这个列表中)。
笔记三
補充樓上:因此需要修改selector,改為選取id="div1"中的所有
元素,再從中篩選出class="part"的
元素,然後刪除該元素。
$(document).ready(function(){
$("button").click(function(){
$("#div1>p").remove(".part");
});
});
笔记四
假如你扔掉了一瓶水,那就是 remove。
假如你倒掉了一瓶水,那就是 empty。