※ ChatGPTを利用し、要約された質問です(原文:[JS] htmlをパースしてdomにしたい)
[JS] htmlをパースしてdomにしたい
このQ&Aのポイント
テキストのhtmlライクの構文をパースして、dom構造のオブジェクトに変換したいです。
createElementを使った方法では、IEではhtmlで定義されていないタグ名が無視されてしまうため不可です。
xmlのパーサを使う方法では、テキストが厳密にxml構文に沿っていないとエラーとなるため不可です。
テキストのhtmlライクの構文があります。
これをパースして、dom構造のオブジェクトに変換したいです。
createElement("div")して、innerHTMLに入れる方法の場合、
IEではhtmlで定義されていないタグ名が無視されてしまうため、不可です。
xmlのパーサに食わせる方法の場合、
テキストが厳密にxml構文に沿っていないとエラーとなるので、
閉じタグ漏れがあるテキストを処理できないため、不可です。
パースする関数を作成するしかないかと思っています。
すでに誰かが作成していそうですが、探しても見つかりませんでした。
こうやって作った、とか、参考となるページなどありましたら教えてください。
補足
html5.jsにあるように document.createElement('AAA'); を行ってみましたが、AAAタグを含むhtmlテキストをinnerHTMLで 以下のように読み込むとAAAタグはやはり無視されてしまいます。 var html_text="<AAA>abc<span>def</span>ghi</AAA>"; document.createElement("AAA"); var dummyTag = document.createElement("div"); dummyTag.innerHTML = html_text; 何か間違えているのでしょうか。