• ベストアンサー

appendChildとinnerHTMLの順番?

■質問1 ・appendChildしてからinnerHTMLするのでしょうか? ・もしくはその逆? ・あるいはどちらでも良い? ▽案1 tr.appendChild(td); td.innerHTML = "内容"; ▽案2 td.innerHTML = "内容"; tr.appendChild(td); ■質問2 ・innerHTMLは「DOM API」とは違うのでしょうか? ・appendChildの仲間だと思っていたのですが…

質問者が選んだベストアンサー

  • ベストアンサー
  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.2

> 質問1 案1: tr 配下の td の内容を書き換える 案2: 内容を書き換えた td を tr 配下に加える なので、結果的にはほぼ同じ意味になります。 ブラウザによる画面描画タイミングは、スクリプトの実行が終わった後が多いため、 表示に差異が出ることも無いでしょう。 > 質問2 マイクロソフト社が独自実装した機能なので、いわゆる "DOM Level 0" に分類されます。 標準仕様とされている "W3C DOM API" ではありませんので、 厳密にやるなら以下の様になるでしょう。 tr.appendChild(td).appendChild(document.createTextNode("内容")); ただ innerHTML は、互換性のために各社のブラウザにも搭載されているので、 あまり気にせずともよい気がします。

re97
質問者

お礼

回答ありがとうございました。 大変参考になりましたー

その他の回答 (2)

  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.3

innerHTMLはW3Cで標準仕様として定義されています。 http://www.w3.org/TR/DOM-Parsing/#attributes

re97
質問者

お礼

回答&リンク提示ありがとうございます。 参考になりましたー

  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.1

どっちでもいいです DOMAPIには違いありません

re97
質問者

お礼

回答ありがとうございましたー

関連するQ&A