Javascript 是否可以将DOM元素转换为字符串并返回?

Javascript 是否可以将DOM元素转换为字符串并返回?,javascript,string,function,dom,elements,Javascript,String,Function,Dom,Elements,我正在获取任何DOM元素(例如document.body),我希望将其转换为如下所示的字符串: function convert(el){ //should return a String } alert(convert(document.body)); //should alert (String) "document.body" alert(document.getElementById('foo')); //should alert (String) "document.getEleme

我正在获取任何DOM元素(例如document.body),我希望将其转换为如下所示的字符串:

function convert(el){
//should return a String
}

alert(convert(document.body));
//should alert (String) "document.body"
alert(document.getElementById('foo'));
//should alert (String) "document.getElementById('foo')"
我还想将这些字符串转换回来(如果可能的话,不使用eval()。例如:

function convertBack(el){
//should return a node
}

convertBack('document.body').innerHTML = 'foo';
//should change the innerHTML of document.body to foo
对于你们中的一些人来说,这似乎是无用的,但这是我针对目标元素的变通方法,而这些元素还不存在。我没有使用任何图书馆


谢谢

使用标准JavaScript,将
e
作为元素:

转换为字符串:

consthtml=e.outerHTML
转换回元素:

const temp=document.createElement('div')//可以是任何元素
temp.innerHTML=html
常数e=临时子项[0]
使用jQuery非常简单,尽管我一般不鼓励使用它

转换为字符串:

var s=e.outerHTML;
转换回元素:

var e=$(s)[0];

$(“”)
解析HTML并返回jQuery对象。您可以使用
[0]

获取对第一个元素的引用,您是否希望使用“document.body”?出于好奇,你为什么想要这个?是的,不是[object HTMLBodyElement]。如果对您有意义的话,我想将DOM元素作为源代码……如果您包括最初的问题,可能会有更好/更简单的方法。这听起来很像是一个X Y问题。老实说,它有点像。然而,很多JavaScript库都可以像这样以DOM元素为目标,所以我确信有某种方法。我不使用jQuery,但这对某些元素肯定有效。无论如何,谢谢你。