JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。
Q&A
解決済
2回答
18828閲覧
総合スコア201
0グッド
1クリップ
投稿2018/09/17 13:28
0
1
HTMLのDOMツリー(画像みたいなやつ)をtext/html の文字列に変換するにはどうすればよいでしょう? から
javascript1var html_text="<!doctype html><html itemscope itemtype="http://........>"
javascript
1var html_text="<!doctype html><html itemscope itemtype="http://........>"
逆は見つかるのですが、DOM→文字列の方法が検索しても見つかりません
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答2件
ベストアンサー
document.documentElement でルート要素ノードを参照可能ですが、ルート要素の外にあるノードが参照できません。 従って、document.childNodes を併用する事になります。
document.documentElement
document.childNodes
JavaScript1document.documentElement.outerHTML; 2document.childNodes;
JavaScript
1document.documentElement.outerHTML; 2document.childNodes;
DOCTYPE宣言は要素ではありませんので、outerHTMLは使用できません。 document.childNodes の参照値から元のDOCTYPE宣言を組み立てます(document.doctype でも参照可能ですが、DOCTYPE宣言の位置を保持してシリアライズするには、document.childNodes が適切です)。
document.doctype
再び、DOMノードに変換するには、DOMParser が最も容易でしょう。
DOMParser
Re: moscow3 さん
投稿2018/09/17 22:59
総合スコア18166
不可能なんじゃないかなと認識しています。
DOCTYPE宣言が剥がれてしまいますが、 下記のようにhtml要素のouterHTMLを取得することでほぼ質問内容と同じものを抜き出すことが可能です。
html
outerHTML
これで良ければどうぞ。
JavaScript1console.log(document.querySelector('html').outerHTML); 2// "<html lang="ja" itemscope="" itemtype="http://schema.org/QAPage">
1console.log(document.querySelector('html').outerHTML); 2// "<html lang="ja" itemscope="" itemtype="http://schema.org/QAPage">
投稿2018/09/17 14:26
総合スコア21158
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.47%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
htmlのDOMを文字列に変換
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。