如何删除jQuery对象中元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何删除jQuery对象中元素相关的知识,希望对你有一定的参考价值。

删除元素/内容
如需删除元素和内容,一般可使用以下两个 jQuery 方法:
remove() - 删除被选元素(及其子元素)
empty() - 从被选元素中删除子元素
参考技术A

先获取对象的所有子节点,再用remove方法,如:

$(ele).children().remove();

如何从javascript或jquery中的元素数组中删除特定元素

例:

<div id="Elmnt_1" class="MyElement">
<div id="Elmnt_2" class="MyElement">
<div id="Elmnt_3" class="MyElement">
<div id="Elmnt_4" class="MyElement">

如何选择具有class =“MyElement”的所有元素,并使用特定的id省略其中的一个元素

我猜:

var fltrdElmnts = $(".MyElement").filter(! $( "#Elmnt_2" ) );
fltrdElmnts.remove();

预期结果:

<div id="Elmnt_2" class="MyElement">
答案

您可以在选择器内使用:not()伪类。

$(".MyElement:not(#Elmnt_2)")

$(".MyElement:not(#Elmnt_2)").css('color', 'red')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="Elmnt_1" class="MyElement">Div</div>
<div id="Elmnt_2" class="MyElement">Div</div>
<div id="Elmnt_3" class="MyElement">Div</div>
<div id="Elmnt_4" class="MyElement">Div</div>
另一答案

你可以使用:not()选择器

var fltrdElmnts = $(".MyElement:not(#Elmnt_2");

演示:

$(function() {
  var fltrdElmnts = $(".MyElement:not(#Elmnt_2");
  fltrdElmnts.remove();
  /* or just:
  $(".MyElement:not(#Elmnt_2").remove();
  */
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="Elmnt_1" class="MyElement">Elmnt_1</div>
<div id="Elmnt_2" class="MyElement">Elmnt_2</div>
<div id="Elmnt_3" class="MyElement">Elmnt_3</div>
<div id="Elmnt_4" class="MyElement">Elmnt_4</div>
另一答案

使用此选择器MyElement:not(#Elmnt_2)

var fltrdElmnts = $(".MyElement:not(#Elmnt_2)");
fltrdElmnts.remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="Elmnt_1" class="MyElement">a</div>
<div id="Elmnt_2" class="MyElement">b</div>
<div id="Elmnt_3" class="MyElement">c</div>
<div id="Elmnt_4" class="MyElement">d</div>

以上是关于如何删除jQuery对象中元素的主要内容,如果未能解决你的问题,请参考以下文章

jQuery-替换和删除元素

通过EQ过滤删除元素不会从jQuery对象中删除该元素

如何使用 jQuery 销毁 DOM 元素?

如何使用Jquery / JavaScript完全删除canvas元素?

如何从 jquery 对象映射中过滤唯一的数据属性值

jQuery根据元素值或元素下标来删除一个数组元素及数组对象方法列表