回答編集履歴
1
補足情報を追加
test
CHANGED
@@ -1,9 +1,19 @@
|
|
1
|
-
`getElementById`メソッドはHTML文書から得られたDOMツリーの中の`id`値をもつノードを
|
1
|
+
`getElementById`メソッドはHTML文書から得られたDOMツリーの中の`id`値をもつノードを抽出するためのものです.
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
通常これさえあればDOM内の検索は可能なのですが, いちいち`document.getElementById`と入力するのは面倒なので, HTML文書読み込み時に`id`属性を持つノードが現れると勝手にグローバル変数(`window`オブジェクトのプロパティ)にノードを追加することになっています. つまり`<span id="title"></span>`は変数`window.title`(`window`は省略可能なので`title`)としてアクセス可能です.
|
5
|
+
通常これさえあればDOM内の検索は可能なのですが, いちいち`document.getElementById`と入力するのは面倒なので, HTML文書読み込み時に`id`属性を持つノードが現れると勝手にグローバル変数(`window`オブジェクトの疑似プロパティ)にノードを追加することになっています. つまりノード`<span id="title"></span>`は変数`window.title`(`window`は省略可能なので`title`)としてアクセス可能です.
|
6
6
|
|
7
7
|
|
8
8
|
|
9
9
|
とは言え, このグローバル変数への登録処理は**HTML文書読み込み時の1度だけ行われる**ので, スクリプトを使って新たな`id`属性を持つノードをDOMに追加し, それを抽出する場合は`getElementById`メソッドを使わなければならない…のです.
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
なお, この`id`による直接アクセスはブラウザ毎に**細かい部分で実装が異なる**ため, 広く互換性を求める用途には適していません.
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
参考
|
18
|
+
|
19
|
+
[https://html.spec.whatwg.org/multipage/window-object.html#named-access-on-the-window-object](https://html.spec.whatwg.org/multipage/window-object.html#named-access-on-the-window-object)
|