在 jQuery 中,想要删除元素,我们有以下 3 种方法:remove()、detach( ) 和 empty( )。本节教程先来介绍 remove( ) 方法,后两个下节介绍。
在 jQuery 中,我们可以使用 remove( ) 方法来将某个元素及其内部的所有内容删除。
语法:
举例:remove( ) 方法的使用
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/jquery-1.12.4.min.js"></script>
<script>
$(function () {
$("#btn").click(function () {
$("li:nth-child(4)").remove();
})
})
</script>
</head>
<body>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
<li>jQuery</li>
<li>Vue.js</li>
</ul>
<input id="btn" type="button" value="删除" />
</body>
</html>
默认情况下,预览效果如图 1 所示。
我们点击【删除】按钮后,此时预览效果如图 2 所示。
$("li:nth-child(4)").remove() 表示删除 ul 元素下的第 4 个 li 元素。记住,在 jQuery 中,除了 :nth-child() 和 :nth-of-type() 这两个选择器的下标是从 1 开始的,其他所有选择器或 jQuery 方法的下标都是从 0 开始的。
举例:remove( ) 方法会返回一个值
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="js/jquery-1.12.4.min.js"></script>
<script>
$(function () {
$("#btn").click(function () {
//remove()可以将所选元素删除,并且返回被删除的元素
var $li = $("li:nth-child(4)").remove();
$($li).appendTo("ul");
})
})
</script>
</head>
<body>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
<li>jQuery</li>
<li>Vue.js</li>
</ul>
<input id="btn" type="button" value="删除" />
</body>
</html>
默认情况下,预览效果如图 3 所示。
我们点击【删除】按钮后,此时预览效果如图 4 所示。
我们要清楚一点,remove( ) 方法可以返回一个值,其中返回值为被删除的元素。也就是说,虽然这个元素被删除了,但是我们可以把返回值赋值给一个变量,再次使用被删除的元素。
在这个例子中,我们使用 remove( ) 方法删除 <li>jQuery</li> 这个元素。接下来我们将被删除的元素赋值给变量 $li,然后就可以使用 appendTo( ) 方法将其添加到 ul 元素内部的末尾处。
实际上,利用 remove( ) 方法会返回一个值的特点,我们可以轻松实现两个元素的互换,请看下面的例子。
举例:互换元素
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
ul li:nth-child(2), ul li:nth-child(4)
{
background-color:Orange;
}
</style>
<script src="js/jquery-1.12.4.min.js"></script>
<script>
$(function () {
$("#btn").click(function () {
//将内容为“CSS”这一个li元素删除,并赋值给$li1
var $li1 = $("li:nth-child(2)").remove();
//将内容为“jQuery”这一个li元素删除,并赋值给$li2
var $li2 = $("li:nth-child(3)").remove();
$($li1).insertAfter("ul li:nth-child(2)");
$($li2).insertBefore("ul li:nth-child(2)");
})
})
</script>
</head>
<body>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
<li>jQuery</li>
<li>Vue.js</li>
</ul>
<input id="btn" type="button" value="互换" />
</body>
</html>
默认情况下,预览效果如图 5 所示。
我们点击【互换】按钮后,此时预览效果如图 6 所示。
在这个例子中,我们实现了内容为“CSS”和“jQuery”这两个 li 元素的互换。技巧就是借助了内容为“JavaScript”的这个li元素作为参照物。虽然代码看起来很简单,不过要注意的地方并不少,小伙伴们最好亲自实践一下。