这个很简单..我想删除子元素但返回父元素。
换句话说,我想得到一个元素减去给定类的子元素。
当我使用时:
$("#element").clone().find('.elementsToRemove').remove().html();
如果没有具有'elementsToRemove'类的子元素,它不返回#element,而是返回已删除的元素。
问题是:我该如何归还父母?
答案 0 :(得分:3)
使用这是因为您使用的是已过滤的元素子集,请使用.end()
var html = $("#element").clone().find('.elementsToRemove').remove().end().html();
$('#log').text(html)

#log {
border: 1px solid red;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="log"></div>
<div id="element">
<div>
<p>something</p>
<div class="elementsToRemove">elementsToRemove</div>
<div class="elementsToRemove">elementsToRemove</div>
</div>
<div>
<p>something</p>
<div class="elementsToRemove">elementsToRemove</div>
<div class="elementsToRemove">elementsToRemove</div>
</div>
</div>
&#13;
注意:这将返回#element
答案 1 :(得分:1)
使用addBack方法。
$("#element").clone().find('.elementsToRemove').remove().addBack().html();