java3d detach_jQuery detach()和empty()方法

jQuery 删除元素除了上节教程介绍的 remove() 方法外,还有 detach() 和 empty() 方法,本节教程就对这两个方法进行介绍。

jQuery detach()方法

在 jQuery 中,detach() 和 remove() 的功能虽然相似,都是将某个元素及其内部所有内容删除,但是两者也有明显的区别。

remove() 方法用于“彻底”删除元素。所谓的“彻底”,指的是不仅会删除元素,还会把元素绑定的事件删除;

detach() 方法用于“半彻底”删除元素。所谓的“半彻底”,指的是只会删除元素,不会把元素绑定的事件删除。

语法:

$().detach()

举例:

$(function () {

$("li").click(function () {

alert("欢迎来到C语言中文网!")

});

$("#btn").click(function () {

var $li = $("li:nth-child(4)").remove();

$($li).appendTo("ul");

});

})

  • HTML
  • CSS
  • JavaScript
  • jQuery
  • Vue.js

默认情况下,预览效果如图 1 所示。

6ef8d047ac27e7e94d820c4f3439435f.gif

图 1:默认效果

我们点击【删除】按钮后,此时浏览器预览效果如图 2 所示。

a7631bd7d4f3adc980a56dfe547ed99c.gif

图 2:点击按钮后的效果

在这个例子中,我们为每一个 li 元素添加一个点击事件,点击任何一个 li 元素都会弹出一个对话框。在我们点击【删除】按钮后,

jQuery 这一项就会被添加到 ul 元素内部的末尾处。但是这个时候,如果再去点击 jQuery 这一项,会发现之前绑定的点击事件被删除了,并不会弹出对话框。

当我们把 remove() 替换成 detach() 后,可以发现 li 元素被删除后又重新被添加使用时,该元素之前绑定的点击事件依然存在。对于 remove() 和 detach() 这两个方法,可以总结为这一点:元素被删除后又重新被添加,如果不希望该元素保留原来绑定的事件,应该用 remove() 方法;如果希望该元素保留原来绑定的事件,应该使用 detach() 方法。

jQuery empty()方法

在 jQuery 中,我们可以使用 empty() 方法来“清空”某个后代元素。

语法:

$().empty()

举例:

$(function () {

$("#btn").click(function () {

$("ul li:nth-child(4)").empty();

});

})

  • HTML
  • CSS
  • JavaScript
  • jQuery
  • Vue.js

默认情况下,预览效果如图 3 所示。

a6228a61bf0fbbc4a8deb7e5a7a9889d.gif

图 3:默认效果

我们点击【删除】按钮后,此时预览效果如图 4 所示。

230aee30a604ad2d90e148cc40aaad64.gif

图 4:点击按钮后的效果

remove() 和 detach() 这两个方法在删除元素时,会将自身元素以及所有后代元素一并删除。empty() 方法仅仅是删除后代元素,并不会删除自身元素。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值