在JavaScript/JQuery中将HTML元素转换为字符串

cie*_*bor 22 html javascript jquery

我想在一些修改之后将从字符串创建的html元素转换回字符串.但我得到一个空字符串.

$('<iframe width="854" height="480" src="http://www.youtube.com/embed/gYKqrjq5IjU?feature=oembed" frameborder="0" allowfullscreen></iframe>').html();
Run Code Online (Sandbox Code Playgroud)

我怎么能以另一种方式做到这一点?

pal*_*aѕн 40

你可以这样做:

var $html = $('<iframe width="854" height="480" src="http://www.youtube.com/embed/gYKqrjq5IjU?feature=oembed" frameborder="0" allowfullscreen></iframe>');    
var str = $html.prop('outerHTML');
console.log(str);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

FIDDLE DEMO


Den*_*ret 34

你想要的是外部HTML,而不是内部HTML:

$('<some element/>')[0].outerHTML;
Run Code Online (Sandbox Code Playgroud)

  • 另一种方法可以通过`$('<some element />').prop('outerHTML')`来完成 (2认同)