Jquery删除子项并返回父项

时间:2014-12-09 03:08:58

标签: javascript jquery

这个很简单..我想删除子元素但返回父元素。

换句话说,我想得到一个元素减去给定类的子元素。

当我使用时:

 $("#element").clone().find('.elementsToRemove').remove().html();

如果没有具有'elementsToRemove'类的子元素,它不返回#element,而是返回已删除的元素。

问题是:我该如何归还父母?

2 个答案:

答案 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;
&#13;
&#13;

注意:这将返回#element

的内部html

答案 1 :(得分:1)

使用addBack方法。

$("#element").clone().find('.elementsToRemove').remove().addBack().html();