2014-01-28 71 views
0

我想用jquery從dom中提取html字符串。JQuery select元素排除某些子元素

我的網頁看起來像

<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'去除這個元素。

有沒有辦法實現我想要的?

謝謝。

+0

'$( '格')不是('#我-ID1)的.html();'? –

+0

但我想要外部和標籤了。 –

+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

你必須克隆它,然後刪除不需要的部分子元素:

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

jQuery集合現在將克隆到您的原始html,但沒有my-id1 div。