.remove()

.remove( [selector ] )返回类型:jQuery

描述:从DOM中删除匹配元素的集合。

类似于.empty().remove()方法将元素清除出DOM。当你想要删除元素本身以及它内部的所有东西时,请使用.remove()。除了元素本身,所有绑定的事件以及与该元素相关联的jQuery数据都被删除了。若要删除此元素,而不删除数据和事件,请用.detach()方法代替。

请考虑以下HTML:

1
2
3
4
<div class="container">
<div class="hello">Hello</div>
<div class="goodbye">Goodbye</div>
</div>

我们可以瞄准任何元素以删除它们:

1
$( ".hello" ).remove();

这将导致带有<div>元素的DOM结构被删除。

1
2
3
<div class="container">
<div class="goodbye">Goodbye</div>
</div>

如果我们有一些嵌套的元素在<div class="hello">里面,它们也会被删除。其它jQuery构造,譬如数据和事件处理函数也会被擦除。

我们还可以包含一个选择器作为可选的参数。例如:我们可以重写先前的DOM删除代码如下:

1
$( "div" ).remove( ".hello" );

这将导致相同的DOM结构:

1
2
3
<div class="container">
<div class="goodbye">Goodbye</div>
</div>

示例:

从DOM中删除所有段落。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>remove demo</title>
<style>
p {
background: yellow;
margin: 6px 0;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.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()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>remove demo</title>
<style>
p {
background: yellow;
margin: 6px 0;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.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>

演示: