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の記事へ
- 2人の推薦記事
- 2人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(0)
- ホワイトペーパー
- 話題のタグ
Safari
入門
HTML
リファレンス
Webデザイン
Apple
開発環境
CSS
フレームワーク
iPhone 3G
Flash
iPhone
Ajax
iPod touch
Eclipse
仮想化
XHTML
Database
Adobe
Internet Explorer
RIA
JavaScript
Off Topic
Microsoft
Leopard
Python
Ruby
Firefox
Windows
Mozilla
Apache
Tips
Opera
Webアプリケーション開発
Firefox 3
Google
Mac OS X
SOA
Java
PHP
オープンソース
ブラウザ
小技
server
CSS 3
イロハ
Solaris
ライブラリ
Linux
C/C++
話題のタグを見る »
無料の「Oracle Database XE」で高速バッチ処理:実装のポイント
Firefoxで情報をカンタン・ベンリに整理する
iPhone Safari、Acidテストでは高得点でも…… Firefoxは載らないの?:WebサイトのiPhone 3G対応問題を考える(ソフト編)
WebサイトのiPhone 3G対応問題を考える(ハード編)
フォトレポート:時代を振り返る--「MS-DOS 4」のインストール
SOAと仮想化の関係は?--常に進化を続けるBEAのミドルウェア戦略
ウェブ開発の生産性はどうしたら上がる?--MODIPHI Appsで半日で作るマッシュアップサイト(1)
JailBreakついに:PwnageTool公開
プロジェクトの進行でよくある4つのトラブル
iPhoneに付く指紋が…… ひとまずおすすめのシリコンケース
contentプロパティでコンテンツを追加する(2):FirefoxとSafariのCSS
iPhone 24時間耐久レース:バッテリーは実際何時間?
フォームデザイン虎の巻:フォームの基礎をおさえる
ZDNet Japan Green IT
ZDNet Japan ホスティング特集
Techno Exchange
DELLが掲げる「新・仮想化アセスメントサービス」