JavaScriptの技法:DOM操作の落とし穴とその回避方法

文:Nick Gibson(Builder AU)
翻訳校正:原井彰弘
2008/01/11 12:00

JavaScriptでDOMを操作するのはAjaxアプリケーションでよく使われる。しかし、JavaScriptによるDOM探索は手間がかかり、落とし穴もある。ここではその回避方法を探ってみよう。

 このコードを実行すると、ドキュメントには以下のようなテキストが出力される。

[object HTMLDocument]
    [object HTMLHtmlElement]
        [object HTMLHeadElement]
            [object HTMLScriptElement]
                [object Text]
            [object HTMLTitleElement]
                [object Text]
        [object HTMLBodyElement]
            [object Text]
            [object HTMLParagraphElement]
                [object Text]
            [object Text]
            [object HTMLParagraphElement]
                http://builderau.com.au/
                    [object Text]
            [object Text]

 ついに最初に望んでいたものと近い結果が得られた。このように、JavaScriptを用いたドキュメントの修正は、思ったほど単純ではない場合もあるのだ。関数を記述する際には、自分が作った前提(このケースではループの不変条件)を破壊していないか注意が必要なのである。自分がDOMに対して行った変更は、すぐにスクリプトのすべての部分に影響を与えるのだということを、肝に銘じておかなければならない。さもなければ、すでに存在しない情報を求めて深みにはまってしまうことだろう。

この記事は海外CNET Networks発のニュースをシーネットネットワークスジャパン編集部が日本向けに編集したものです。海外CNET Networksの記事へ

記事の感想やご意見をコメントでお寄せください(CNET_IDログインが必要です)
ログイン パスワードを忘れた方  |  新規登録
  • 今日のトップ記事
  • 昨日
  • 2日前
  • 3日前
  • 6日前
  • 7日前
  • 新着記事
  • 人気記事
  • 特集
  • ブログ