首先,你的问题太模糊,不好理解。最好举个例子,把什么样的字符串解析成DOM对象?
如果是要把HTML文本字符串转换成DOM对象。
下面的这个函数就可以:
function parseToDOM(str){var div = document.createElement("div")
if(typeof str == "string")
div.innerHTML = str
return div.childNodes
}
参数:
str : HTML文本字符串.
返回值:
所需要的DOM对象,以Array形式返回(事实上是近似Array的Node List).
用法:
var nodelist = parseToDOM("<b>hello world</b>")
你的这个javascript脚本通常会在一个HTML页面里面运行。所以如果你的字符串里面没有<html>标签,直接就是内容<input type='text' value='123' id='test'>,那么可以通过doucment.createElement创建一个div,然后把这个div的innerHTML设置成你的字符串。再把这个div append到doucmnet下面人任何一个元素里(通常就是body元素),这样就可以document.getElementById来获取了。用完之后如果不需要了,再从dom tree里把这个元素移除掉,或者就把这个div设置为display="None"就好但是如果这个字符串是完整的HTML,包括<html><head><body>等标签,那么就需要创建一个新的iframe,把这个iframe的innerHTML设置成你的字符串,然后通过iframe的document的getElementById来获取。