我使用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
为什么不提醒''('