跳轉到內容

JavaScript/處理 HTML

來自華夏公益教科書,開放的書籍,開放的世界


從 AJAX 返回的 HTML 處理起來令人驚訝地困難。因為XMLHttpRequest被設計用來處理格式良好的 XML,嘗試使用 responseXML 屬性解析 HTML 頁面幾乎總是會導致 XML 解析錯誤。responseText 屬性當然包含 HTML 原始碼,並且可以使用常規字串函式或正則表示式嘗試解析它。但是,XMLHttpRequest物件沒有提供一種簡單的使用 DOM 操作來解析返回的 HTML 的方法。

使用瀏覽器的 HTML 解析器

[編輯 | 編輯原始碼]
Clipboard

要做的
驗證哪些瀏覽器支援此功能。


從 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 操作對其進行搜尋、導航和操作。


華夏公益教科書