DOM ツリー要素の ID 属性はそれらをグローバル プロパティにしますか?
Internet Explorer や Chrome などの特定のブラウザでは、HTML 要素に割り当てられた ID には、変数名またはウィンドウ オブジェクトのプロパティとしてアクセスできます。たとえば、
ただし、この動作は意図されたものではなく、潜在的な落とし穴として考慮する必要があります。広範な回答で指摘されているように、ブラウザーは名前付き要素をドキュメント オブジェクト (IE の場合はウィンドウ オブジェクトも) のプロパティとして追加していますが、要素名がそれらの既存のプロパティと競合する可能性があるため、これは不適切な設計上の決定です。 object.
この問題を回避するには、要素の取得には document.getElementById を使用することを強くお勧めします。この方法は広くサポートされており、コードが明確になります。長い名前が懸念される場合は、ID から要素へのルックアップの意図しない動作に依存する代わりに、より短いラッパー関数を作成できます。
名前付き要素をグローバルとしてアクセスできるようにする方法に注意することが重要です。のような変数は、ドキュメントとウィンドウのプロパティの両方にそのような要素を配置することを含め、HTML5 で形式化されています。ただし、標準化にもかかわらず、document.getElementById.
のような、より堅牢で曖昧さのないメソッドを優先して、これを避けるのが最善の方法であることに変わりはありません。以上がHTML 要素 ID は JavaScript のグローバル プロパティですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。