Javascript 如何显示图像的HTML

Javascript 如何显示图像的HTML,javascript,jquery,html,Javascript,Jquery,Html,假设我有这样一个图像: <img src="someimage.png" alt="Image" /> <code id="mycode"></code> $("#mycode").append($("<div />").append($('img').clone()).html()); var html = $("<div />").append($('img').clone()).html(); $("#mycode").ap

假设我有这样一个图像:

<img src="someimage.png" alt="Image" />
<code id="mycode"></code>
$("#mycode").append($("<div />").append($('img').clone()).html());
var html = $("<div />").append($('img').clone()).html();
$("#mycode").append(html.replace('<','&lt;').replace('>','&gt'));​​​​​​​​​​​​​​​​​​​​​

但是我如何获取它的HTML并将其附加到代码标记中呢?

假设您有这样一个元素:

<img src="someimage.png" alt="Image" />
<code id="mycode"></code>
$("#mycode").append($("<div />").append($('img').clone()).html());
var html = $("<div />").append($('img').clone()).html();
$("#mycode").append(html.replace('<','&lt;').replace('>','&gt'));​​​​​​​​​​​​​​​​​​​​​
您可以这样做:

<img src="someimage.png" alt="Image" />
<code id="mycode"></code>
$("#mycode").append($("<div />").append($('img').clone()).html());
var html = $("<div />").append($('img').clone()).html();
$("#mycode").append(html.replace('<','&lt;').replace('>','&gt'));​​​​​​​​​​​​​​​​​​​​​
$(“#mycode”).append($(“”).append($('img').clone()).html();
或者,如果您希望对其进行半编码以供显示,如下所示:

<img src="someimage.png" alt="Image" />
<code id="mycode"></code>
$("#mycode").append($("<div />").append($('img').clone()).html());
var html = $("<div />").append($('img').clone()).html();
$("#mycode").append(html.replace('<','&lt;').replace('>','&gt'));​​​​​​​​​​​​​​​​​​​​​
var html=$(“”).append($('img').clone()).html();
$(“#mycode”).append(html.replace(“”,>');​​​​​​​​​​​​​​​​​​​​​
。获取html部分本身也可以以插件形式提供,编码也可以,如果需要,您必须自己完成,或者获取语法插件。

插件形式:

jQuery.fn.outerHtml = function() {
    return $('<div>').append( this.clone() ).html();
};

$('#mycode').append($('img').outerHtml());
jQuery.fn.outerHtml=function(){
返回$('').append(this.clone()).html();
};
$('#mycode').append($('img').outerHtml());

为什么要包装@Stefan-
.html()
获取innerHTML,其中没有:)啊,你需要一个父元素才能使html内容成为元素本身。这看起来像是一个应该以插件形式存在的黑客解决方法。@Stefan-有一些插件可以做到这一点:)搜索
outerHTML
,如果你想以插件形式使用它……我同意如果你不止一次地使用它,就这样做。在我看来,这应该是核心,但是我想其他人不同意,因为它已经不存在了。是的,这没有给我任何东西,因为
html
函数返回内部html,这当然对
img
来说是没有任何意义的。更新为短语Nick的答案的插件形式,所以它是可重用的。@Stefan-插件形式存在很多地方,不需要复制它,如果你必须这么做,
$(这个)
是多余的:)@Nick Craver:我要求你重新阅读堆栈溢出的创建目的。仅仅因为它是关于专家性改变的,并不意味着它不应该在这里。@Stefan-我同意,虽然这是网络上的许多地方,但这更是我的观点。我的另一个想法是,如果你要发布一个插件作为例子,请尽可能正确:)
$(这个)
也在克隆jQuery对象,只是
this.clone()
效率更高/浪费更少:)