ブラウザのJavaScriptでただの文字列状態のHTMLをDOM(ツリー、NODE)に変換して色々操作したいって場合を調べたくて検索をかけると
div = document.createElement('div'); div.innerHTML = textHtml;
って感じにして取り出す感じの記事しか見つからなくて、モヤモヤするのでメモ。
そもそもこの手法だと <!DOCTYPE html>
とか先頭に入っていると変換もできない。
しかも、imgタグとか不必要なコンテンツも読み込んでしまう。
手法としては DOMParser
を使う。
function convert(textHtml) {
const parser = new DOMParser();
const $document = parser.parseFromString(textHtml, 'text/html');
return $document;
}
これだけ。
以上。