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

时间:2014-02-27 18:57:33

标签: javascript string function dom elements

我得到任何DOM元素(例如document.body),我想将它转换为String,如下所示:

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

这对你们中的一些人来说似乎毫无用处,但这是我针对目标元素的解决方法的方法,这些方法尚不存在。我没有使用任何图书馆。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用jQuery非常容易。

e为元素:

转换为字符串:

var s = e.outerHTML;

转换回元素:

var e = $(s)[0];

$("<div></div>")解析HTML并返回一个jQuery对象。您可以使用[0]

获取对第一个元素的引用