将jQuery对象转换为字符串

3
从字符串创建对象(或其他东西):
var thing = $.parseHTML("<h1>Some HTML</h1>"); // i.e., from $("#something").html()

将其转换回字符串?
$(thing).html(); // doesn't work
undefined
$(thing).get(0).outerHTML; // doesn't work
undefined
$(thing).outerHTML; // doesn't work
undefined
$(thing).get(0).html(); // doesn't work
undefined

什么是$.parseHTML()的反向操作?我只想修改一些HTML并将其放回到原来的位置。

这个呢?https://dev59.com/pW025IYBdhLWcg3w4aCu#5744246 - nicolallias
1
这段代码“thing = $(thing).get(0).outerHTML;”对我有效。请查看此链接:https://jsfiddle.net/xpvt214o/61241/ - Yatendrasinh Joddha
2个回答

1

检查它的outerHTML

console.log( thing[0].outerHTML );

演示

var thing = $.parseHTML("<h1>Some HTML</h1>"); 

console.log( thing[0].outerHTML );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


1

要将 jQuery 对象转换为字符串,可以使用 .prop('outerHTML'),例如:

var thing = $.parseHTML("<h1>Some HTML</h1>");
var original = $(thing).prop('outerHTML');

console.log( original );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


看起来这是一个迂回的方式。为什么不用 thing[0].outerHTML 呢? - H77
嗯,我们其实不知道OP的全部代码。这可以用于对象已经是一个jQuery对象的情况,这是我在我的回答中所说的。总有多种方法来解决问题 :) - Eddie
不知道这在 jQuery 的新版本中是否有更改。对我无效 - $(thing).prop('outerHTML'); 返回未定义。 - bikz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接