此方法从DOM中删除所有匹配的元素。
说明:detach()方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素,与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来。
语法结构:
复制代码 代码如下:
$(selector).detach(expr)
参数列表:
参数
描述
expr
可选。用于筛选被删除元素的jQuery表达式。
实例代码:
实例一:
复制代码 代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta content="https://www.jb51.net/" />
<title>脚本之家</title>
<script type="text/javascript" src="https://www.jb51.net/mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("div").detach("#first");
});
})
</script>
</head>
<body>
<div>欢迎来到脚本之家</div>
<div>脚本之家欢迎您</div>
<button>点击查看效果</button>
</body>
</html>
以上代码能够删除div集合中id值为first的div。
实例二:
复制代码 代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta content="https://www.jb51.net/" />
<title>脚本之家</title>
<script type="text/javascript" src="https://www.jb51.net/mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("div").detach();
});
})
</script>
</head>
<body>
<div>欢迎来到脚本之家</div>
<div>脚本之家欢迎您</div>
<button>点击查看效果</button>
</body>
</html>
如果方法没有参数,那么将会删除所有匹配元素。
实例三:
复制代码 代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta content="https://www.jb51.net/" />
<title>脚本之家</title>
<script type="text/javascript" src="https://www.jb51.net/mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#btd").click(function(){
var a=$("div");
a.detach("#first");
$("#btn").click(function(){
alert(a.length);
});
});
})
</script>
</head>
<body>
<div>欢迎来到脚本之家</div>
<div>脚本之家欢迎您</div>
<button>删除div效果</button>
<button>查看删除操作后div的数量</button>
</body>
</html>
以上代码的运行结果可以看出,此方法并没有将div从jquery对象中删除。