2016-06-28 146 views
0

我使用jquery $ .get加載html文件幷包裝響應。但jQuery刪除我的包裝。jQuery刪除包裝元素

我做了以下例子演示了我的問題: https://jsfiddle.net/pwm76bp6/

大家誰不希望打開這個鏈接是示例代碼:

alert($('<div><div>Hallo</div></div>').html()); 

我希望整個字符串應該是警報。這裏有什麼問題?

+0

可能重複的[獲取選定元素的外部HTML](http://stackoverflow.com/questions/2419749/get-selected-elements-outer-html) – str

+0

爲什麼不提醒''('

Hallo
');'。而且,如果你需要插入HMTL:'的document.getElementById( 'receptor_id')的innerHTML = '
Hallo
';'。 –

回答

0

動態封裝一個元素,然後獲取包裹元素的html()。

alert($('<div><div>Hallo</div></div>').wrap("<div></div>").parent().html()); 
+0

我想他需要知道爲什麼它沒有在他的工作:) – guradio

2

您需要閱讀outerHTML屬性。

console.log($('<div><div>Hallo</div></div>').prop('outerHTML'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

0

它不刪除您的包裝。 jQuery html()不會返回元素的contents

當你做你$('<div>my content</div>')創建元素,然後你得到的內部HTML與html(),然後在你的例子提醒。

0

使用您的代碼,您將獲得外部元素<div>html。而外部<div>的內容是<div>Hallo</div>

你可以做你想做一個默認屬性是什麼:

alert($('<div><div>Hallo</div></div>')[0].outerHTML); 
0

功能「HTML」不會返回給定元素的HTML內容。在你的情況下,「html()」返回外部div的內容,它排除了外部本身。

您可以通過包裹你的HTML像解決這個問題:

var html = '<div><div>Hallo</div></div>'; 
var outerHtml = $(html).wrap('<div />').parent().html(); 

希望這會有所幫助。