JQuery select元素,其中包含某些子元素

时间:2014-01-28 19:34:06

标签: jquery

我正在尝试使用jquery从dom中提取html字符串。

我的页面看起来像

<html>
  <body>
    <div id="my-id1">first </div>
    <div id="my-id2">second </div>
  </body>
</html>

我想获得一个类似

的html字符串
 <html>
   <body>
     <div id="my-id2">second </div>
   </body>
 </html>

我知道

$('html').not('#my-id1).html();

将无效,因为它会尝试获取'html'元素,并尝试使用id'my-id1'删除此元素。

无论如何要实现我想要的目标吗?

感谢。

3 个答案:

答案 0 :(得分:2)

您可以克隆html元素并删除您不想要的子元素

//Clone 
var elem = $('html').clone();

//Find first div and remove it
elem.find('#my-id1').remove();

//Get HTML
var html = elem.prop('outerHTML');

DEMO

答案 1 :(得分:1)

您必须克隆它,然后删除不需要的部分:

$('html').clone().find('#my-id1').remove();

jQuery集合现在将保留原始html的克隆,但没有my-id1 div。

答案 2 :(得分:0)

$( "#my-id1" ).remove();

fiddle