Javascript 是否从页面中删除所有元素(数组中包含的元素及其父/子元素除外)?

Javascript 是否从页面中删除所有元素(数组中包含的元素及其父/子元素除外)?,javascript,jquery,Javascript,Jquery,我有一个元素数组,我想保留在以这种方式生成的页面上。棘手的是,我需要保留这些元素——父母和孩子 var maps = document.querySelectorAll("[id^=map]") 我想使用jQuery的过滤器从页面中删除除数组中包含的div之外的所有div。不过我还是不能让它正常工作。我试过: var all = $("div").get() $(all) .filter(function( index ) { return $.inArray(this, m

我有一个元素数组,我想保留在以这种方式生成的页面上。棘手的是,我需要保留这些元素——父母和孩子

var maps = document.querySelectorAll("[id^=map]")
我想使用jQuery的过滤器从页面中删除除数组中包含的div之外的所有div。不过我还是不能让它正常工作。我试过:

var all = $("div").get()

$(all)
  .filter(function( index ) {
      return $.inArray(this, maps) === -1;
  }).remove()

从页面中删除所有元素。我认为这是在消除家长div和他们的孩子,而不管他们是否想要孩子。我尝试在函数中放入另一个过滤器函数,添加一些嵌套条件,但它开始变成一个巨大的非函数混乱。有没有更优雅的方法?我不一定需要使用
.filter()

部分原因可能是您没有从filter函数返回值

但如果我理解正确,您可以只查看元素及其所有内容:

$(all)
  .filter(function( index ) {
      $this = $(this);
      return !($this.is("[id^=map]") || $this.find("[id^=map]").length > 0);
  }).remove()

部分原因可能是您没有从筛选函数返回值

但如果我理解正确,您可以只查看元素及其所有内容:

$(all)
  .filter(function( index ) {
      $this = $(this);
      return !($this.is("[id^=map]") || $this.find("[id^=map]").length > 0);
  }).remove()

部分原因可能是您没有从筛选函数返回值

但如果我理解正确,您可以只查看元素及其所有内容:

$(all)
  .filter(function( index ) {
      $this = $(this);
      return !($this.is("[id^=map]") || $this.find("[id^=map]").length > 0);
  }).remove()

部分原因可能是您没有从筛选函数返回值

但如果我理解正确,您可以只查看元素及其所有内容:

$(all)
  .filter(function( index ) {
      $this = $(this);
      return !($this.is("[id^=map]") || $this.find("[id^=map]").length > 0);
  }).remove()

您可以首先尝试使用复杂的css选择器,如下所示:

$('div:not(div:has(.keep), div.keep)').remove();

这可以一次定位所需的元素并删除其他元素。

您可以首先尝试使用复杂的css选择器,如下所示:

$('div:not(div:has(.keep), div.keep)').remove();

这可以一次定位所需的元素并删除其他元素。

您可以首先尝试使用复杂的css选择器,如下所示:

$('div:not(div:has(.keep), div.keep)').remove();

这可以一次定位所需的元素并删除其他元素。

您可以首先尝试使用复杂的css选择器,如下所示:

$('div:not(div:has(.keep), div.keep)').remove();

这可以一次找到所需的元素并删除其他元素。

删除退货是一个输入错误。我编辑了问题以显示删除所有内容的函数。这就是我一直在寻找的答案。谢谢删除报税表是一个打字错误。我编辑了问题以显示删除所有内容的函数。这就是我一直在寻找的答案。谢谢删除报税表是一个打字错误。我编辑了问题以显示删除所有内容的函数。这就是我一直在寻找的答案。谢谢删除报税表是一个打字错误。我编辑了问题以显示删除所有内容的函数。这就是我一直在寻找的答案。谢谢这很好,但是我正在寻找在类标题中包含单词map的div元素。has选择器不支持正则表达式。也许在香草css中不支持。在jQuery中,它是有效的:这很好,但我正在寻找在类标题中包含单词map的div元素。has选择器不支持正则表达式。也许在香草css中不支持。在jQuery中,它是有效的:这很好,但我正在寻找在类标题中包含单词map的div元素。has选择器不支持正则表达式。也许在香草css中不支持。在jQuery中,它是有效的:这很好,但我正在寻找在类标题中包含单词map的div元素。has选择器不支持正则表达式。也许在香草css中不支持。在jQuery中,它可以工作: