<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>
答案 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.