繁体   English   中英

删除具有特定类的所有子节点

[英]remove all child nodes with specfic class

我有创建树的动态ul li节点,我想删除所有具有

class="highlight" or
class="add_action" or
class="delete_action" or
class="edit_action"

在具有特定id的特定li下-(在本示例中为20)-我尝试使用jquery将此代码查找具有这些类的所有范围以将其删除,但它没有起作用

$('li#20').find('span.add_action').each(function(){
    $(this).remove();
});

也累

   $('li#20').eq(0).find('.add_action').remove();

  $('li#20').children('.add_action').remove();

这是完整的例子

https://jsfiddle.net/kqagjtmr/

获取具有指定类的所有span元素,然后删除所有这些元素。 无需使用each循环。 使用以逗号分隔的span元素选择所有匹配的元素。

$('li#20')
    .find('span.highlight, span.add_action, span.delete_action, span.edit_action')
    .remove();

演示

您的代码中有重复的id属性,例如:

<li class="thide" id="20"><span class="vertical"></span>

<span id="20" class="first_name" title="">الجد  سعد</span>

这就是$('li#20')无法正常工作的原因。 id属性必须是唯一的,也不应该以数字开头。 改用类。

删除元素,只需使用:

$('someSelector').remove();

另外,您应该在小提琴中包含jQuery,您可以在此处找到该选项:

在此处输入图片说明

请参阅更新的小提琴:“ https://jsfiddle.net/kqagjtmr/1/

使用$('li#20').find("highlight add_action delete_action edit_action").remove();

一次查找多个元素并将其删除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM