我使用jquery $ .get加載html文件幷包裝響應。但jQuery刪除我的包裝。jQuery刪除包裝元素
我做了以下例子演示了我的問題: https://jsfiddle.net/pwm76bp6/
大家誰不希望打開這個鏈接是示例代碼:
alert($('<div><div>Hallo</div></div>').html());
我希望整個字符串應該是警報。這裏有什麼問題?
我使用jquery $ .get加載html文件幷包裝響應。但jQuery刪除我的包裝。jQuery刪除包裝元素
我做了以下例子演示了我的問題: https://jsfiddle.net/pwm76bp6/
大家誰不希望打開這個鏈接是示例代碼:
alert($('<div><div>Hallo</div></div>').html());
我希望整個字符串應該是警報。這裏有什麼問題?
動態封裝一個元素,然後獲取包裹元素的html()。
alert($('<div><div>Hallo</div></div>').wrap("<div></div>").parent().html());
我想他需要知道爲什麼它沒有在他的工作:) – guradio
您需要閱讀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>
它不刪除您的包裝。 jQuery html()
不會返回元素的contents
。
當你做你$('<div>my content</div>')
創建元素,然後你得到的內部HTML與html()
,然後在你的例子提醒。
使用您的代碼,您將獲得外部元素<div>
的html
。而外部<div>
的內容是<div>Hallo</div>
。
你可以做你想做一個默認屬性是什麼:
alert($('<div><div>Hallo</div></div>')[0].outerHTML);
功能「HTML」不會返回給定元素的HTML內容。在你的情況下,「html()」返回外部div的內容,它排除了外部本身。
您可以通過包裹你的HTML像解決這個問題:
var html = '<div><div>Hallo</div></div>';
var outerHtml = $(html).wrap('<div />').parent().html();
希望這會有所幫助。
可能重複的[獲取選定元素的外部HTML](http://stackoverflow.com/questions/2419749/get-selected-elements-outer-html) – str
爲什麼不提醒''('