6

私はajax呼び出しを行っており、からコンテンツを取得していますresponseText

alertその内部を使用して確認します。responseTextには、ページ全体がとして含まれていますstring

それはいいです。次に、文字列をDOMに変換しgetElementsByTagNamegetElementsByNameなどを使用して、文字列から特定のコンテンツを抽出する必要があります。

私の問題は、これらのどれもうまくいかないようだということです。

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>     

テーブルの2行目とその値にアクセスするにはどうすればよいですか?またはdivなど。だから、今私の実際のhtmlで、私はこのようなsthを持っています

<html>
<head>.....</head>
<body>
<table><tr><td id="test">Test</td></tr></table>
</body>
</html>

抽出された要素/値を実際のhtmlのテーブル内で解析したい。

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

4

3 に答える 3

13

DOMParser目的のノードを返すには、html でa を使用し、結果のドキュメントで DOM トラバーサル メソッドを使用する必要があります。

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

new ActiveXObject("Microsoft.XMLDOM");IEでは代わりに必要になることに注意してください。

于 2012-11-19T19:34:15.803 に答える