SlideShare uma empresa Scribd logo
1 de 20
1
DOM の勉強会
2014/3/26( 木 )
DMM.com ラボ
佐々木健
2
ある日の雑談
「最近のウェブの技術を理解するには DOM を理解する
のが楽なんじゃないかと〜」
↓
「 DOM って何それ?、とりあえず勉強会しよう」
ということで DOM の勉強会をします。
3
ドム
先週末に作りました。
プラニッパ必須です。
これさえあればガンプラは
誰でも作れます。
詳しくは専門家に聞いてく
ださい。
4
豆知識:ドムとリックドムの違い
ドム リックドム
形式番号 MS-09 MS-09R R※ が付いた
重量 62.5t 43.8t ※ 軽くなった
出力 1,269kw 1,199kw ※ 出力ダウン
推力 58,200kg 53,000kg ※ 推力ダウン
武装 ビームバズーカ追加
戦歴 先行量産型( 1 〜 3 号機)
はオデッサの戦いにて全滅
3 分も経たずに 12 機が撃墜。
5
これじゃない??
ごめんなさい
6
DOM とは?
Object Model (DOM) は、 W3C から勧告されている
HTML 文書や XML 文書をアプリケーションから
利用するための API である。
Level 1 から Level 3 まで勧告されている。
from wikipedia
http://ja.wikipedia.org/wiki/Document_Object_Model
はあ???
まったくわからん。
7
別の観点から、、、、
ブラウザの中身ってどうなってるの?
ブラウザは、データを読みこむと、先ず、
レンダリング、を行なう。
レンダリングエンジンはHTMLドキュメントを
解析し、タグを「コンテンツ ツリー」というツ
リー内のDOMノードに変換する。
参考 : ブラウザの仕組み : 最新ウェブブラウザの内部構造
http://www.html5rocks.com/ja/tutorials/internals/howbrowserswork/
8
こういう感じに格納される
<TABLE>
<TBODY>
<TR>
<TD>Shady Grove</TD>
<TD>Aeolian</TD>
</TR>
<TR>
<TD>Over the River, Charlie</TD>
<TD>Dorian</TD>
</TR>
</TBODY>
</TABLE>
●
W3C document – What is the Document Model
http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/introduction.html
9
実際に見てみよう
●
最近のブラウザはDOMノードを確認したり操作したりするこ
とができる。
–
DOM Inspector
●
http://ja.wikipedia.org/wiki/DOM_Inspector
●
chromeのデベロッパーツールで見てみる。
–
URL欄の右をクリックして「ツール」から開ける。
Sample CodeはGitHubに置いた↓
https://github.com/sasakipochi/dom-study
10
Sample: basic.html
●
HTML の情報がどのように格納されてる
か確認する。
–
html.body.section.article.div とか
●
値を変化させると表示が変わることを確
認する。
11
Sample: basic-cut.html
●
HTML5 ではタグの省略ができる。
●
比較してみる。
●
タグが省略されても同じ情報が格納され
てていることを確認してみる。
12
豆知識 HTML5 の定義
●
HTML の規格は、 HTML 4 までは、構文を定義していた。
●
HTML5 では従来の HTML の構文だけでなく、 XML(XTHML)
や DOM2HTML 等、データ構造そのものも考慮にいれてい
る。
●
HTML5 においては、 HTML 構文は規格の一部分。
●
同じ実体を HTML 構文でも XML 構文でも表現できる。
13
DOM は API
●
Application Programming Interface
●
操作するための手法を定義している
●
JavaScript で操作できる。
●
chrome の JavaScript コンソールをいじってみる
これも URL 欄の右の「ツール」から開ける
14
document.body 以下を childNodes
で掘り進む
document.body
document.body.childNodes
document.body.childNodes[4].childNodes[1].child
Nodes[7].innerText
document.body.childNodes[4].childNodes[1].child
Nodes[7].innerText = " 変身 !!"
15
getElementById でショートカット
document.getElementById("sample")
document.getElementById("sample").innerText
document.getElementById("sample").innerText =
"Change!!!!"
16
GetElementsByTagName で
掘り進む
document.getElementsByTagName("article")
[0].getElementsByTagName("div")[0].innerText
document.getElementsByTagName("article")
[0].getElementsByTagName("div")[0].innerText =
"hoge"
17
Style も操作可能
document.getElementById("sample").style
document.getElementById("sample").style.color =
"yellow"
18
まとめ
DOM API を操作することにより、ウェブコンテン
ツの動的な操作が可能になるよ。
19
なんとなくわかりやすそうな比喩
PHP+MySQL の WebDB システムと、
ブラウザ上のシステムの比較
データベース データベース操
作
ロジック
WebDB システム MySQL SQL PHP
ブラウザシステ
ム
DOM ノード
DOM ツリー
DOM オブジェク
ト
DOM API JavaScript
あくまで比喩です。
逆にわかりにくくなったらごめんなさい。
20
結局???
DOM ってなんなの?
API なの?データスキームなの?
CSS は DOM に含まれるの?
W3C での定義以外もあるの?
JavaScript って Mozilla のものじゃ??
興味を持ったら自分でも勉強してね!!
歴史、バージョン、モジュール等に注意して読み解いていくと
わかっていくはず。
定義も変化してます。

Mais conteúdo relacionado

Destaque

イケてないIPv6とどう付き合う?
イケてないIPv6とどう付き合う?イケてないIPv6とどう付き合う?
イケてないIPv6とどう付き合う?Ken SASAKI
 
スキルパターン作成のお話
スキルパターン作成のお話スキルパターン作成のお話
スキルパターン作成のお話Ken SASAKI
 
オーケストラについて
オーケストラについてオーケストラについて
オーケストラについてKen SASAKI
 
IPv6にどう取り組むか
IPv6にどう取り組むかIPv6にどう取り組むか
IPv6にどう取り組むかKen SASAKI
 
ICTトラブルシューティングコンテスト LT資料
ICTトラブルシューティングコンテスト LT資料ICTトラブルシューティングコンテスト LT資料
ICTトラブルシューティングコンテスト LT資料Ken SASAKI
 
ICTSC5 DMM.comラボの紹介+お給料の話
ICTSC5 DMM.comラボの紹介+お給料の話ICTSC5 DMM.comラボの紹介+お給料の話
ICTSC5 DMM.comラボの紹介+お給料の話Ken SASAKI
 
インフラエンジニアのスキルパターンを作ってみた話
インフラエンジニアのスキルパターンを作ってみた話インフラエンジニアのスキルパターンを作ってみた話
インフラエンジニアのスキルパターンを作ってみた話Ken SASAKI
 
20160227-ictsc5-LT
20160227-ictsc5-LT20160227-ictsc5-LT
20160227-ictsc5-LTYuuki Mori
 
レスポンシブおっぱいでまなぶスケーラブルグラフィックス
レスポンシブおっぱいでまなぶスケーラブルグラフィックスレスポンシブおっぱいでまなぶスケーラブルグラフィックス
レスポンシブおっぱいでまなぶスケーラブルグラフィックスminoru nakanou
 
SONiCインストールしてみた
SONiCインストールしてみたSONiCインストールしてみた
SONiCインストールしてみたwataken44
 
ICTSCって知ってますか?_さくらの夕べ 仙台
ICTSCって知ってますか?_さくらの夕べ 仙台ICTSCって知ってますか?_さくらの夕べ 仙台
ICTSCって知ってますか?_さくらの夕べ 仙台Yuuki Kadowaki
 
Index makes your book perfect
Index makes your book perfectIndex makes your book perfect
Index makes your book perfectKeiichiro Shikano
 
電子出版はどこを 目指すのか・技術書編
電子出版はどこを 目指すのか・技術書編電子出版はどこを 目指すのか・技術書編
電子出版はどこを 目指すのか・技術書編masayoshi takahashi
 
Hyper-V を使おう
Hyper-V を使おうHyper-V を使おう
Hyper-V を使おうwataken44
 
IPv6移行の現状 〜 宅内端末から見た IPv6 と IPv4〜
IPv6移行の現状 〜 宅内端末から見た IPv6 と IPv4〜IPv6移行の現状 〜 宅内端末から見た IPv6 と IPv4〜
IPv6移行の現状 〜 宅内端末から見た IPv6 と IPv4〜Akira Nakagawa
 
カンファレンスネットワークのツクリカタ
カンファレンスネットワークのツクリカタカンファレンスネットワークのツクリカタ
カンファレンスネットワークのツクリカタHiromichi Tomatsu
 
xUnitハンズオン第4回テキスト
xUnitハンズオン第4回テキストxUnitハンズオン第4回テキスト
xUnitハンズオン第4回テキストmizuky fujitani
 

Destaque (20)

イケてないIPv6とどう付き合う?
イケてないIPv6とどう付き合う?イケてないIPv6とどう付き合う?
イケてないIPv6とどう付き合う?
 
スキルパターン作成のお話
スキルパターン作成のお話スキルパターン作成のお話
スキルパターン作成のお話
 
オーケストラについて
オーケストラについてオーケストラについて
オーケストラについて
 
IPv6にどう取り組むか
IPv6にどう取り組むかIPv6にどう取り組むか
IPv6にどう取り組むか
 
ICTトラブルシューティングコンテスト LT資料
ICTトラブルシューティングコンテスト LT資料ICTトラブルシューティングコンテスト LT資料
ICTトラブルシューティングコンテスト LT資料
 
ICTSC5 DMM.comラボの紹介+お給料の話
ICTSC5 DMM.comラボの紹介+お給料の話ICTSC5 DMM.comラボの紹介+お給料の話
ICTSC5 DMM.comラボの紹介+お給料の話
 
インフラエンジニアのスキルパターンを作ってみた話
インフラエンジニアのスキルパターンを作ってみた話インフラエンジニアのスキルパターンを作ってみた話
インフラエンジニアのスキルパターンを作ってみた話
 
20160227-ictsc5-LT
20160227-ictsc5-LT20160227-ictsc5-LT
20160227-ictsc5-LT
 
レスポンシブおっぱいでまなぶスケーラブルグラフィックス
レスポンシブおっぱいでまなぶスケーラブルグラフィックスレスポンシブおっぱいでまなぶスケーラブルグラフィックス
レスポンシブおっぱいでまなぶスケーラブルグラフィックス
 
SONiCインストールしてみた
SONiCインストールしてみたSONiCインストールしてみた
SONiCインストールしてみた
 
ICTSCって知ってますか?_さくらの夕べ 仙台
ICTSCって知ってますか?_さくらの夕べ 仙台ICTSCって知ってますか?_さくらの夕べ 仙台
ICTSCって知ってますか?_さくらの夕べ 仙台
 
Index makes your book perfect
Index makes your book perfectIndex makes your book perfect
Index makes your book perfect
 
JSer Class #2
JSer Class #2JSer Class #2
JSer Class #2
 
電子出版はどこを 目指すのか・技術書編
電子出版はどこを 目指すのか・技術書編電子出版はどこを 目指すのか・技術書編
電子出版はどこを 目指すのか・技術書編
 
Hyper-V を使おう
Hyper-V を使おうHyper-V を使おう
Hyper-V を使おう
 
ICTSC_DMM_recruit
ICTSC_DMM_recruitICTSC_DMM_recruit
ICTSC_DMM_recruit
 
IPv6移行の現状 〜 宅内端末から見た IPv6 と IPv4〜
IPv6移行の現状 〜 宅内端末から見た IPv6 と IPv4〜IPv6移行の現状 〜 宅内端末から見た IPv6 と IPv4〜
IPv6移行の現状 〜 宅内端末から見た IPv6 と IPv4〜
 
CONBU API の開発
CONBU API の開発CONBU API の開発
CONBU API の開発
 
カンファレンスネットワークのツクリカタ
カンファレンスネットワークのツクリカタカンファレンスネットワークのツクリカタ
カンファレンスネットワークのツクリカタ
 
xUnitハンズオン第4回テキスト
xUnitハンズオン第4回テキストxUnitハンズオン第4回テキスト
xUnitハンズオン第4回テキスト
 

Mais de Ken SASAKI

業務改善できるかな?
業務改善できるかな?業務改善できるかな?
業務改善できるかな?Ken SASAKI
 
ステマネのお仕事
ステマネのお仕事ステマネのお仕事
ステマネのお仕事Ken SASAKI
 
The Internet Situation in Myanmar
The Internet Situation in MyanmarThe Internet Situation in Myanmar
The Internet Situation in MyanmarKen SASAKI
 
世界のインターネット ミャンマー編
世界のインターネット ミャンマー編世界のインターネット ミャンマー編
世界のインターネット ミャンマー編Ken SASAKI
 
さくらインターネット西新宿セミナールームと私
さくらインターネット西新宿セミナールームと私さくらインターネット西新宿セミナールームと私
さくらインターネット西新宿セミナールームと私Ken SASAKI
 
インターネットの仕組み enPiT資料
インターネットの仕組み enPiT資料インターネットの仕組み enPiT資料
インターネットの仕組み enPiT資料Ken SASAKI
 
通販チャレンジ ミャンマー編
通販チャレンジ ミャンマー編通販チャレンジ ミャンマー編
通販チャレンジ ミャンマー編Ken SASAKI
 
槓の光 for ssmonline #4
槓の光 for ssmonline #4槓の光 for ssmonline #4
槓の光 for ssmonline #4Ken SASAKI
 
リモートスクラム開発のノウハウ
リモートスクラム開発のノウハウリモートスクラム開発のノウハウ
リモートスクラム開発のノウハウKen SASAKI
 
私が好きなITコミュニティイベント
私が好きなITコミュニティイベント私が好きなITコミュニティイベント
私が好きなITコミュニティイベントKen SASAKI
 
リモートスクラム開発やってみた
リモートスクラム開発やってみたリモートスクラム開発やってみた
リモートスクラム開発やってみたKen SASAKI
 
Wi-Fiのイマ Internet Week 2019 発表資料
Wi-Fiのイマ Internet Week 2019 発表資料Wi-Fiのイマ Internet Week 2019 発表資料
Wi-Fiのイマ Internet Week 2019 発表資料Ken SASAKI
 
中国のネットワーク勉強会 JANOG44野良BoF資料
中国のネットワーク勉強会 JANOG44野良BoF資料中国のネットワーク勉強会 JANOG44野良BoF資料
中国のネットワーク勉強会 JANOG44野良BoF資料Ken SASAKI
 
ダイビングのすゝめ
ダイビングのすゝめダイビングのすゝめ
ダイビングのすゝめKen SASAKI
 
「入門Kubernetes」輪読会資料 6章
「入門Kubernetes」輪読会資料 6章「入門Kubernetes」輪読会資料 6章
「入門Kubernetes」輪読会資料 6章Ken SASAKI
 
監視 〜 ネットワーク勉強会資料
監視 〜 ネットワーク勉強会資料監視 〜 ネットワーク勉強会資料
監視 〜 ネットワーク勉強会資料Ken SASAKI
 
オーケストラと&オーケストレーション
オーケストラと&オーケストレーションオーケストラと&オーケストレーション
オーケストラと&オーケストレーションKen SASAKI
 
RFC 〜 ネットワーク勉強会
RFC 〜 ネットワーク勉強会RFC 〜 ネットワーク勉強会
RFC 〜 ネットワーク勉強会Ken SASAKI
 
各種ネットワーク機器と最近の技術動向 〜 ネットワーク勉強会
各種ネットワーク機器と最近の技術動向 〜 ネットワーク勉強会各種ネットワーク機器と最近の技術動向 〜 ネットワーク勉強会
各種ネットワーク機器と最近の技術動向 〜 ネットワーク勉強会Ken SASAKI
 
TCP 〜 ネットワーク勉強会資料
TCP 〜 ネットワーク勉強会資料TCP 〜 ネットワーク勉強会資料
TCP 〜 ネットワーク勉強会資料Ken SASAKI
 

Mais de Ken SASAKI (20)

業務改善できるかな?
業務改善できるかな?業務改善できるかな?
業務改善できるかな?
 
ステマネのお仕事
ステマネのお仕事ステマネのお仕事
ステマネのお仕事
 
The Internet Situation in Myanmar
The Internet Situation in MyanmarThe Internet Situation in Myanmar
The Internet Situation in Myanmar
 
世界のインターネット ミャンマー編
世界のインターネット ミャンマー編世界のインターネット ミャンマー編
世界のインターネット ミャンマー編
 
さくらインターネット西新宿セミナールームと私
さくらインターネット西新宿セミナールームと私さくらインターネット西新宿セミナールームと私
さくらインターネット西新宿セミナールームと私
 
インターネットの仕組み enPiT資料
インターネットの仕組み enPiT資料インターネットの仕組み enPiT資料
インターネットの仕組み enPiT資料
 
通販チャレンジ ミャンマー編
通販チャレンジ ミャンマー編通販チャレンジ ミャンマー編
通販チャレンジ ミャンマー編
 
槓の光 for ssmonline #4
槓の光 for ssmonline #4槓の光 for ssmonline #4
槓の光 for ssmonline #4
 
リモートスクラム開発のノウハウ
リモートスクラム開発のノウハウリモートスクラム開発のノウハウ
リモートスクラム開発のノウハウ
 
私が好きなITコミュニティイベント
私が好きなITコミュニティイベント私が好きなITコミュニティイベント
私が好きなITコミュニティイベント
 
リモートスクラム開発やってみた
リモートスクラム開発やってみたリモートスクラム開発やってみた
リモートスクラム開発やってみた
 
Wi-Fiのイマ Internet Week 2019 発表資料
Wi-Fiのイマ Internet Week 2019 発表資料Wi-Fiのイマ Internet Week 2019 発表資料
Wi-Fiのイマ Internet Week 2019 発表資料
 
中国のネットワーク勉強会 JANOG44野良BoF資料
中国のネットワーク勉強会 JANOG44野良BoF資料中国のネットワーク勉強会 JANOG44野良BoF資料
中国のネットワーク勉強会 JANOG44野良BoF資料
 
ダイビングのすゝめ
ダイビングのすゝめダイビングのすゝめ
ダイビングのすゝめ
 
「入門Kubernetes」輪読会資料 6章
「入門Kubernetes」輪読会資料 6章「入門Kubernetes」輪読会資料 6章
「入門Kubernetes」輪読会資料 6章
 
監視 〜 ネットワーク勉強会資料
監視 〜 ネットワーク勉強会資料監視 〜 ネットワーク勉強会資料
監視 〜 ネットワーク勉強会資料
 
オーケストラと&オーケストレーション
オーケストラと&オーケストレーションオーケストラと&オーケストレーション
オーケストラと&オーケストレーション
 
RFC 〜 ネットワーク勉強会
RFC 〜 ネットワーク勉強会RFC 〜 ネットワーク勉強会
RFC 〜 ネットワーク勉強会
 
各種ネットワーク機器と最近の技術動向 〜 ネットワーク勉強会
各種ネットワーク機器と最近の技術動向 〜 ネットワーク勉強会各種ネットワーク機器と最近の技術動向 〜 ネットワーク勉強会
各種ネットワーク機器と最近の技術動向 〜 ネットワーク勉強会
 
TCP 〜 ネットワーク勉強会資料
TCP 〜 ネットワーク勉強会資料TCP 〜 ネットワーク勉強会資料
TCP 〜 ネットワーク勉強会資料
 

Último

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Último (8)

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 

DOMの勉強会