📅  最后修改于: 2023-12-03 15:24:13.757000             🧑  作者: Mango
在 jQuery 中,可以使用 .remove()
方法轻松删除一个元素及其所有子元素。但有时候,我们可能只想删除该元素的某个或某些子元素。下面介绍几种方法实现这个功能。
.children()
方法和 .remove()
方法可以使用 .children()
方法选择元素的所有子元素,然后再使用 .remove()
方法删除它们。例如,可以删除某个 div 元素中的所有 p 元素:
$('div').children('p').remove();
.find()
方法和 .remove()
方法与 .children()
方法不同,.find()
方法可以查找元素的所有后代元素(不仅仅是直接子元素)。因此,使用 .find()
方法也可以找到要删除的所有子元素。例如,可以删除整个页面中的所有 p 元素:
$('p').remove();
等价于:
$('body').find('p').remove();
.not()
方法和 .remove()
方法有时候,我们可能只想保留某个元素的一个或几个子元素,而删除其他子元素。这时,可以使用 .not()
方法来选择不需要删除的子元素。例如,可以删除某个 div 元素中除第一个 p 元素之外的所有 p 元素:
$('div').children('p').not(':first').remove();
.filter()
方法和 .remove()
方法与 .not()
方法相似,.filter()
方法也可以根据给定的选择器,选择需要删除的子元素。例如,可以删除某个 div 元素中所有 class 为 "red" 的 p 元素:
$('div').children('p').filter('.red').remove();
总结:
| 方法 | 描述 |
| --- | --- |
| .children()
| 选择元素的所有直接子元素 |
| .find()
| 选择元素的所有后代元素 |
| .not()
| 选择排除指定元素后的元素 |
| .filter()
| 选择符合指定条件的元素 |
以上就是在 jQuery 中删除子元素的一些方法。需要注意的是,删除元素和删除子元素的效果是不同的:前者会同时删除元素的所有子元素,后者只会删除指定的子元素。