最近、idを持つhtml要素への参照に、そのid(jsbin)という名前の変数を使ってjavascriptでアクセスできることがわかりました。Javascript:jsにまだ存在するgetElementById(id)を持つ要素を取得するのはなぜですか?
なぜそうですか? id
を書くのではなく、なぜgetElementById(id)
を使用する必要がありますか?
最近、idを持つhtml要素への参照に、そのid(jsbin)という名前の変数を使ってjavascriptでアクセスできることがわかりました。Javascript:jsにまだ存在するgetElementById(id)を持つ要素を取得するのはなぜですか?
なぜそうですか? id
を書くのではなく、なぜgetElementById(id)
を使用する必要がありますか?
なぜそうですか?
初期のブラウザでは、それはnow become standardizedでした。
私は単にIDを書く代わりに
getElementById(id)
を使用する必要がありますか?
技術的に、あなたはしません。しかし、グローバル名前空間がであり、本当に混雑していることに気をつけてください。。そこにはたくさんのものが投げ込まれています。 IDを持つ要素だけでなく、name
がある場合は特定の要素、名前などによるブラウザのコンテキストなどは、競合が発生する可能性があることを意味します。たとえば、id="document"
の要素がある場合、自動グローバルは作成されません。他の競合するグローバルは、ブラウザによって異なる場合があります。また、有効なJavaScript識別子(id="foo-bar"
など)でないid
の値は、完全に有効なid
の値ですが、そのグローバルなグローバル(window["foo-bar"]
)は使いにくいです。 getElementById
を使用
は、具体的には、そのID (name
ない、など)と要素探し。だから、より包括的で信頼できるものです。正しくそれを制約することができなかったIEの時代遅れのバージョンのバグを、無視
。
2つの質問が重複しています。 [idを持つDOMツリー要素はグローバル変数になりますか?](http://stackoverflow.com/q/3434278/218196)、[JavaScriptで要素IDを識別子として使用するのはなぜですか?](http:// stackoverflow .com/q/25325221/218196) –
@FelixKling:Good find。 –