例子:
var html_string = '<img src="http://www.example.com/image.jpg" />'
$(html_string).html()
产生:
'' // an empty string
预计我会在html_string
.
这是怎么回事?我怎样才能得到我预期的结果?
例子:
var html_string = '<img src="http://www.example.com/image.jpg" />'
$(html_string).html()
产生:
'' // an empty string
预计我会在html_string
.
这是怎么回事?我怎样才能得到我预期的结果?
.html() 为您提供元素的内部 html,因为<img>
元素为空/空,它们没有内部 html,因此您得到一个空字符串。
你想要的是外部 html
$(html_string)[0].outerHTML
jQuery.html()
返回所选 DOM 元素内的 HTML 代码,但不返回元素的 HTML。这就是你得到一个空字符串的原因,因为你的图像元素中没有 HTML。jQuery 没有为此提供解决方案,但您可以在 DOM 元素处使用 outerHTML(不是 jQuery 元素)。如果你想用 jQuery 来做这个,创建一个元素,把你想要的放在里面,然后使用.html()
. 看:
var string = '<img src="a.jpg"/>';
var $el = $(string);
var $wrapper = $('<p>').append($el).html();
希望我有所帮助。