跳至內容

JavaScript/Handling HTML

維基教科書,自由的教學讀本

處理從AJAX返回的HTML異常困難。由於XMLHttpRequest被設計為使用格式良好的 XML,因此嘗試使用responseXML屬性解析 HTML 頁面幾乎總是會產生XML解析錯誤。responseText屬性當然包含HTML原始碼,可以嘗試使用常規字符串函數或正則表達式對其進行解析。但是,XMLHttpRequest 對象並沒有提供一種簡單的方法來使用DOM操作解析返回的HTML。

使用瀏覽器的HTML解析器[編輯]

解析從AJAX返回的HTML的一種方法是將整個頁面添加為瀏覽器中當前文檔的子項。只需創建一個新節點並將返回的HTML文本放在新節點的innerHTML屬性中,如下所示:

var htmlDoc = document.createElement('div');  // Creates a new, empty DIV node.
htmlDoc.innerHTML = ajaxResult.responseText;  // Places the returned HTML page inside the new node.

HTML文檔會自動解析,然後可以通過DOM操作進行搜索、導航和操作。