Javascript 作为DOM对象的Ajax响应

Javascript 作为DOM对象的Ajax响应,javascript,getelementbyid,responsetext,Javascript,Getelementbyid,Responsetext,有没有一种方法可以从典型的ajax函数中获取响应,以便使用getElements对其进行解析?我尝试了query.responseText.getElementById,但它的效果和看上去一样糟糕。不过,你应该能够通过看到这个片段来了解我想要实现的目标。我只需要以与普通DOM对象相同的方式从ajax响应中获取元素 另外,请不要建议使用jQuery。当我有很多脚本并且可以使用它的很多函数时,我会使用它,但在这种情况下,我只有一个短脚本和一个70倍大小的库,这似乎是一种浪费。请参阅本文: 在本例中,

有没有一种方法可以从典型的ajax函数中获取响应,以便使用getElements对其进行解析?我尝试了
query.responseText.getElementById
,但它的效果和看上去一样糟糕。不过,你应该能够通过看到这个片段来了解我想要实现的目标。我只需要以与普通DOM对象相同的方式从ajax响应中获取元素

另外,请不要建议使用jQuery。当我有很多脚本并且可以使用它的很多函数时,我会使用它,但在这种情况下,我只有一个短脚本和一个70倍大小的库,这似乎是一种浪费。

请参阅本文:


在本例中,我使用的是
responseXML
。您可以使用getElementsByTagName和其他getElement*()方法来获取数据。

您可以在页面上有一个隐藏的
div
,并将其innerHTML设置为您收到的Ajax响应。然后可以调用
div.getElementById()
,因为它只是另一个DOM对象。

如果您的响应是文本,我看到ppl使用了…xhr.responseText.spit('html>…body>…div id=“yourTargetsParent”>)[1]。拆分('/div>../body>../html>)[0]//不过,只需将字符串拆分即可

另一种方法是使用iframe.contentWindow.document.body。。。(或某些浏览器的contentDocument)。。。把你知道的东西藏起来

显然,如果你控制了目标,完全改变了事情(这篇文章可能不会在这里),但我也看到了一些关于目标使用脚本编写其主机dom、localStorage、拆分/连接、WebSQL数据库等进行字符串操作的方法

老实说,我曾经使用过一个隐藏的div(谢谢你asleepysamurai!),但我认为我遇到了一种更为getElementById/jQuery.load类型的方法。。如果我找到它,我会发回…

doc将是有效的html文档

parser = new DOMParser();
doc = parser.parseFromString(stringContainingHTMLSource, "text/html");