2011-05-06 86 views
2

我正在尝试从xhr请求中读取响应。我不想尝试使用正则表达式来解析信息。有没有办法将响应字符串转换为html元素,以便我可以使用document.getElementsById()来读取我想要的信息?该解决方案不能使用jQuery。将字符串转换为html元素以运行javascript

编辑:格式是来自xhr响应的普通html。我正在尝试从divs中获取信息。

<div class="name">John Doe</div> 
+0

什么是响应格式? – 2011-05-06 03:23:18

+0

响应是在正常的HTML。我试图从这样的div中获取信息

John Doe
2011-05-06 03:27:02

+0

这不是很清楚你的回应是什么,但它听起来像你想用它填充一些元素的innerHTML – entonio 2011-05-06 03:26:16

回答

2

当然没问题,如果您的回复是HTML,只需创建一个DIV并将您的响应铲入它。不知道你提到的getElementsByName,虽然这不是一个标准的DOM函数,据我所知。

var xhrResponse = "<span id='status'>SUCCESS</span>"; 

var clipboard = document.createElement("DIV"); 
clipboard.innerHTML = xhrResponse; 
var searchingForSomething = clipboard.getElementById('status'); 
console.log(searchingForSomething.innerHTML); // => SUCCESS 

您的临时DIV甚至不需要在文档中工作。

+0

但是,如果没有jQuery,是冗长的。你可以通过搜索整个树来完成,最简单的代码是递归的,或者如果你只支持高端浏览器,你可以使用querySelector。 – jpsimons 2011-05-06 03:37:12