LoginSignup
3
1

More than 1 year has passed since last update.

fetchとかで取ってきた生HTMLからDOMを作ってqueryselector()をしたい。

Last updated at Posted at 2021-10-12

ブラウザの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;
}

これだけ。
以上。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1