Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 为什么';返回图像对象的html文本?_Jquery - Fatal编程技术网

Jquery 为什么';返回图像对象的html文本?

Jquery 为什么';返回图像对象的html文本?,jquery,Jquery,例如: var html_string = '<img src="http://www.example.com/image.jpg" />' $(html_string).html() 希望我能在HTML\u string中找回原始的HTML字符串 发生什么事了?如何获得预期的结果?.html()提供元素的内部html,因为元素为null/空,它们没有内部html,因此得到一个空字符串。 你想要的是 .html()为您提供元素的内部html,因为元素为null/空,它们没有内部ht

例如:

var html_string = '<img src="http://www.example.com/image.jpg" />'
$(html_string).html()
希望我能在
HTML\u string
中找回原始的HTML字符串

发生什么事了?如何获得预期的结果?

.html()提供元素的内部html,因为
元素为null/空,它们没有内部html,因此得到一个空字符串。
你想要的是

.html()为您提供元素的内部html,因为
元素为null/空,它们没有内部html,因此您会得到一个空字符串。
你想要的是

jQuery
.html()
返回选定DOM元素内的html代码,但不返回元素的html。这就是为什么会得到一个空字符串,因为图像元素中没有HTML。jQuery并没有为此提供解决方案,但您可以在DOM元素(而不是jQuery元素)上使用outerHTML。如果要使用jQuery执行此操作,请创建一个元素,将所需元素放入其中,然后使用
.html()
。看:

var string = '<img src="a.jpg"/>';
var $el = $(string);

var $wrapper = $('<p>').append($el).html();
var字符串=“”;
变量$el=$(字符串);
var$wrapper=$(“”).append($el.html();
希望我有所帮助。

jQuery
.html()
返回所选DOM元素中的html代码,但不返回元素的html。这就是为什么会得到一个空字符串,因为图像元素中没有HTML。jQuery并没有为此提供解决方案,但您可以在DOM元素(而不是jQuery元素)上使用outerHTML。如果要使用jQuery执行此操作,请创建一个元素,将所需元素放入其中,然后使用
.html()
。看:

var string = '<img src="a.jpg"/>';
var $el = $(string);

var $wrapper = $('<p>').append($el).html();
var字符串=“”;
变量$el=$(字符串);
var$wrapper=$(“”).append($el.html();

希望我能帮上忙。

因为API不是这样工作的。该图像元素没有
innerHTML
,这是
.html()
返回的结果。img没有innerHTML,您期望得到什么。否决票,标记为“不是真正的问题”。对我来说这是个真正的问题。“发生了什么事?我怎样才能得到我期望的结果?”。哇,因为这不是API的工作原理。该图像元素没有
innerHTML
,这是
.html()
返回的结果。img没有innerHTML,您期望得到什么。否决票,标记为“不是真正的问题”。对我来说这是个真正的问题。“发生了什么事?我怎样才能得到我期望的结果?”。哇,谢谢穆萨!你知道outerHTML有多兼容吗?这是一个标准的DOM/JSAPI属性,没有包装在jQuery中。。。我通常对使用这些未经修饰的属性感到紧张。马特·鲍尔在上面的评论解决了我的问题:根据这个链接,最好的方法似乎是使用
.clone().wrap(“”).parent().html()
。我正试着这么做!但是错过了
.clone()
:DThanks Musa!你知道outerHTML有多兼容吗?这是一个标准的DOM/JSAPI属性,没有包装在jQuery中。。。我通常对使用这些未经修饰的属性感到紧张。马特·鲍尔在上面的评论解决了我的问题:根据这个链接,最好的方法似乎是使用
.clone().wrap(“”).parent().html()
。我正试着这么做!但是错过了
.clone()
:D
var string = '<img src="a.jpg"/>';
var $el = $(string);

var $wrapper = $('<p>').append($el).html();