Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如果存在具有类的子级,则删除父div,而不删除其他实例_Jquery_Html_Web Frontend - Fatal编程技术网

Jquery 如果存在具有类的子级,则删除父div,而不删除其他实例

Jquery 如果存在具有类的子级,则删除父div,而不删除其他实例,jquery,html,web-frontend,Jquery,Html,Web Frontend,我需要从DOM中删除一个div,如果它有一个具有特定类名的子div,而不删除子div 我尝试在if/then语句中使用.remove(),但当我这样做时,它仍然会删除目标父div的所有实例,甚至是没有子div的实例 父类和子类类型B将自动生成 <div class="overall"> <div class="parent"> <div class="child-type-A"> // stuff that can't be

我需要从DOM中删除一个div,如果它有一个具有特定类名的子div,而不删除子div

我尝试在if/then语句中使用.remove(),但当我这样做时,它仍然会删除目标父div的所有实例,甚至是没有子div的实例

父类和子类类型B将自动生成

<div class="overall">
   <div class="parent">
      <div class="child-type-A">
         // stuff that can't be deleted
      </div>
   </div>
   <div class="parent">
      <div class="child-type-B">
         // more stuff
      </div>
   </div>
   <div class="parent">
      <div class="child-type-B">
         // even more stuff
      </div>
   </div>
</div>

我希望“if”所针对的div是唯一受影响的div,有没有办法做到这一点?

您需要这样做:-

$(document).ready(function(){
  $( '.child-type-A' ).closest('.parent').replaceWith($( '.child-type-A' ).closest('.parent').contents());
  //you can do this one also
   //$( '.child-type-A' ).parent('.parent').replaceWith($( '.child-type-A' ).parent('.parent').contents());
});
工作代码段:-

$(文档).ready(函数(){
$('.child-type-A')。最近的('.parent')。替换为($('.child-type-A')。最近的('.parent').contents());
//你也可以做这个
//$('.child-type-A')。父项('.parent')。替换为($('.child-type-A')。父项('.parent').contents());
});

//无法删除的内容
//更多的东西
//更多的东西

@LNML在任何情况下,在
总体
div中都可以出现多个
子类型-A
div?您的意思是在总体中会出现多个子类型-A吗?不,只有一个。@LNML我在第二个工作示例代码段中也讨论了这个条件。
if( '.parent > .child-type-A' ) {
 $( 'parent' ).remove();
}
$(document).ready(function(){
  $( '.child-type-A' ).closest('.parent').replaceWith($( '.child-type-A' ).closest('.parent').contents());
  //you can do this one also
   //$( '.child-type-A' ).parent('.parent').replaceWith($( '.child-type-A' ).parent('.parent').contents());
});