如何从父母中删除div

时间:2015-09-22 07:52:10

标签: javascript jquery

<div id="abc">    
    <div style="">
       <div style="">...</div>
    </div>
    <div class="gm-style-iw">
    ...
    </div>
</div>

和我的jquery:

var iwOuter = $('.gm-style-iw');
iwOuter.parent().remove();

如何删除此div的父级,以显示html:

<div id="abc">
    <div class="gm-style-iw">
    ...
    </div>
</div>

4 个答案:

答案 0 :(得分:0)

您要删除的div是.gm-style-iw元素的前一个兄弟,而不是其父元素。您需要使用.prev()选择器和.gm-style-iw选择器来定位它:

$('.gm-style-iw').prev().remove();

<强> working demo

答案 1 :(得分:0)

您可以使用

$( ".gm-style-iw" ).siblings().remove();

答案 2 :(得分:0)

尝试使用:not()排除.gm-style-iw#abc父元素中删除

$("#abc div:not(.gm-style-iw)").remove()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<div id="abc">    
    <div style="">
       <div style="">style ...</div>
    </div>
    <div class="gm-style-iw">
    gm-style-iw...
    </div>
</div>

答案 3 :(得分:0)

您可以使用:not()将要素排除在外:

$('#abc > div:not(.gm-style-iw)').remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="abc">
  <div style="">
    <div style="">to be removed...?</div>
  </div>
  <div class="gm-style-iw">
    gm-style-iw
  </div>
</div>

您的代码问题:

var iwOuter = $('.gm-style-iw'); // selector : correct
iwOuter.parent().remove(); // but the target element is not the parent
                           // that is sibling of it.