質問: “ボタン” ‘’’ と書けば、当然、HTMLは以下のように書き換わり、divの子供としてbuttonが付け加わります: ‘’’html ボタン ‘’’ 「赤いdivエレメントの中にボタンが設置されている」 感じになるはずです。 ### 謎の挙動について しかし、innerHTMLについて紹介されているいくつかのブログで、この仕様に反した謎の挙動をしており、「それを当たり前のものとして紹介している」のを発見しました。その謎の挙動とは、以下のようなものです: innerHTML内にエレメントを記述すると、「自分自身が」その記述したエレメントに取って代わる つまり、上の例ですと、 「id名がhogeの赤いdivエレメント」だったものが、 「id名がbtnのbuttonエレメント」に、 『変身』してしまう というものです。 この謎の挙動を紹介していたサイトとは、以下になります: どういうことでしょうか? 最近Javascript やhtmlの仕様が大きく変わったとかでしょうか?mdnのリファレンスなどを読みましたがよくわかりませんでした。 最悪、謎の挙動に関しては謎のままで構いません。 **とりあえず、冒頭に書いた挙動が正しいということが確認できれば、それでいいです。** ご回答よろしくお願いします。
回答: ### 一つの可能性 > > この謎の挙動を紹介していたサイトとは、以下になります: > > > 「以下」というサイトですね。 私には読めませんが、憶測で回答しましょう。 WeilSpinorさんが**innerHTML**と**outerHTML**を読み間違えているからです。 ### トライアルアンドエラー (trial and error) > > 私が冒頭で述べた「正しいと私が思う挙動」が「実際に正しいこと」は、既に実験によって確認しております。 > > > トライアルアンドエラーをしたのなら、その事実が全てです。 つまり、次のいずれかの可能性しかありません。 * WeilSpinorさんが読み間違えている * WeilSpinorさんが試したトライアルアンドエラー結果の解釈が間違っている * WeilSpinorさんが読んだサイトが間違っている ### 回答の効率 WeilSpinorさんが読み間違えたかもしれないサイトの情報源がなく、WeilSpinorさんが試した内容もない。 この状況で回答者はどうやって間違いを見つけることが出来ますか。 tanat さんが回答した内容も、質問で**共有されなければ**、回答に生かされる事はないのです。 * JavaScript - JavaScriptやHTMLの言語処理系の原理・仕組みについての勉強の仕方を教えてください。|teratail はっきりいえば、確定情報の少ない質問に回答するのは**時間の無駄**です。 Re: WeilSpinorさん