从responseText获取特定内容

nik*_*las 4 javascript element xmlhttprequest responsetext

我正在进行ajax调用,我从中获取内容responseText.

我通过使用alert内部确认,responseText包含整个页面作为string.

没关系.现在,我需要将其转换为DOM并使用提取从字符串具体内容getElementsByTagName,getElementsByName等...

我的问题是这些似乎都不起作用.

我已经阅读了很多关于使用的参考文献responseXML,responseText但是这让我回来了null.

所以,通过坚持responseText,我怎样才能得到我想要的特定元素?

例如,如果我的回复包含以下内容:

<html>
<head>....</head>
<body>....
 .....
 <table>
 <tr>
 <td>sometext</td>
 <td>someothertext</td>
 </tr>
 <tr>
 <td>sometext</td>
 <td>someothertext</td>
 </tr>
 <tr>
 <td>sometext</td>
 <td>someothertext</td>
 </tr>    
 </table> 
 <div> somediv </div>
 </body>
 </html>     
Run Code Online (Sandbox Code Playgroud)

如何访问表的第二行及其值?或者div等..所以,现在在我的实际html中,我有这样的感觉

<html>
<head>.....</head>
<body>
<table><tr><td id="test">Test</td></tr></table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我希望在我的实际html表中解析提取的元素/值.

document.getElementById('test').innerHTML = the_extracted_elements_from_responseText

Asa*_*din 12

您需要DOMParser在html上使用a 并在结果文档上使用DOM遍历方法来返回所需的节点.

  var parser=new DOMParser();
  var xmlDoc=parser.parseFromString(responseText,"text/xml");
  var tds = xmlDoc.getElementsByTagName("td");
Run Code Online (Sandbox Code Playgroud)

请注意,IE将需要new ActiveXObject("Microsoft.XMLDOM");.