返回值:jQueryremove([selector])
从 DOM 中移除匹配的元素,同时移除元素上的事件及 jQuery 数据。
-
1.0 新增remove([selector])
selector (String) 可选参数,选择器表达式,用于过滤出将要被移除的元素。
和
.empty()
类似,.remove()
方法会从 DOM 中删除元素。如果想移除某元素及其所有子元素,可以使用 .remove()
。该方法除了会移除匹配的元素外,还会移除这些元素上绑定的事件及 jQuery 数据。如果只想移除元素而保留元素上的事件及数据,请使用
.detach()
来代替。
例如,有如下的 HTML:
<div class="container"> <div class="hello">Hello</div> <div class="goodbye">Goodbye</div> </div>
可以移除任何想要移除的元素:
$('.hello').remove();
上面的代码会从 DOM 中移除含有 hello 样式的 <div>
,其结果如下:
<div class="container"> <div class="goodbye">Goodbye</div> </div>
如果 <div class="hello">
元素中还嵌套有其它的元素,那么这些嵌套的元素也会删除移除。与此同时,被移除元素上的事件及 jQuery 数据也会被删除。
也可以使用可选的 selector 参数。例如,我们可以重写上面的例子,实现相同的结果:
$('div').remove('.hello');
其结果和上面的例子一样:
<div class="container"> <div class="goodbye">Goodbye</div> </div>
示例:
从 DOM 中移除所有的段落。
<!DOCTYPE html>
<html>
<head>
<style>p { background:yellow; margin:6px 0; }</style>
<script src="jquery.min.js"></script>
</head>
<body>
<p>Hello</p>
how are
<p>you?</p>
<button>Call remove() on paragraphs</button>
<script>
$("button").click(function () {
$("p").remove();
});
</script>
</body>
</html>
演示:
示例:
从 DOM 中移除所有含有 "Hello" 的段落。也可以使用 $("p").filter(":contains('Hello')").remove() 达到相同的目的。
<!DOCTYPE html>
<html>
<head>
<style>p { background:yellow; margin:6px 0; }</style>
<script src="jquery.min.js"></script>
</head>
<body>
<p class="hello">Hello</p>
how are
<p>you?</p>
<button>Call remove(":contains('Hello')") on paragraphs</button>
<script>
$("button").click(function () {
$("p").remove(":contains('Hello')");
});
</script>
</body>
</html>