プロが教えるわが家の防犯対策術!

javascriptのライブオブジェクトとは何ですか。
DOMツリーへの参照を常に持ち、例えば既に存在している二つある<div>をdocument.getElementByTagName("div")などで取得します。次にdocument.createElement("div")で要素を追加したあと、document.getElementByTagName("div").lengthとすると、先ほどは、divが二個しかなかったのにも関わらず「3」が返ってきます。ライブオブジェクト、この場合は、nodelistがつねにDOMツリーへの参照を持っているから既存のタグを取得した後でも臨機応変に対応してくれるものと認識しております。ここまでは、分かりましたが、これ以外の情報でライブオブジェクトに関して何か知っておくべきことと、ライブオブジェクトは、どのような場面で利用するべきものなのでしょうか。

A 回答 (1件)

生きている (live) とは


* 文書構造の変更が直ちに反映される最新の情報

反対語は静的 (static) となり
* ある時点でのスナップショット情報

document は文書構造そのものなので、普通はわざわざ生きているとは呼びません。
一般には document.getElementsByTagName() した結果の HTMLCollection のオブジェクトのことを、
静的なコレクション情報でないことを強調するために「生きている」と呼びます。

オブジェクトの解説にも明記されています。
https://developer.mozilla.org/ja/docs/Web/API/HT …

ただし、生きているコレクション情報というのは、
情報を反映するために余分な処理が生まれたり、
並列処理や分散処理などで問題になるため、
扱いが難しい面があります。

なので、生きているコレクションを殺す...もとい、静的に変換してから使用したり、
https://www.google.com/search?q=htmlcollection+a …
そもそも静的なコレクションにて取得できるような手段が用意されたりと、
https://developer.mozilla.org/ja/docs/Web/API/No …
最近は生きているのがつらいご時勢のようです。

> どのような場面で利用するべきものなのでしょうか。
過去の規格で定められた仕様なので実装されていますが、
もう活用できる局面が思いつきません。
    • good
    • 0
この回答へのお礼

ご回答有難うございました。
とても分かりやすく私のようなものでも理解が深まりました。

お礼日時:2016/06/15 16:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!