ホームページ >ウェブフロントエンド >jsチュートリアル >ID 属性の DOM 要素は「getElementById()」で廃止されますか?
ID を持つ DOM ツリー要素はブラウザーの getElementById を置き換えますか?
Internet Explorer と Chrome は、ID を持つ HTML 要素を使用できる独自の動作を提供します。 ID を変数名またはウィンドウ オブジェクトのプロパティとして使用してアクセスします。これにより、この動作の性質について疑問が生じます。
すべての DOM 要素はグローバル プロパティになりますか?
いいえ。グローバル プロパティの動作は、DOM ツリー内の「名前付き要素」でのみ使用できます。名前付き要素には、id 属性を持つ要素、または識別目的で使用される name 属性を持つ要素 (フォーム、イメージ、アンカーなど) が含まれます。
getElementById は廃止されますか?
名前付き要素は Internet Explorer および Chrome でグローバルにアクセスできますが、これは getElementById メソッドに代わるものではありません。要素名はドキュメントまたはウィンドウ オブジェクトの実際のプロパティと衝突する可能性があり、曖昧さや潜在的なエラーにつながる可能性があります。
リスクとベスト プラクティス
名前付き要素にグローバル変数としてアクセスすることは、いくつかの理由から、不適切な実践であると考えられます:
標準化
名前付き要素にグローバルとしてアクセスするという問題のある慣行は、悲しいことに、によって標準化されています。 HTML5。これは、Firefox を含む将来のブラウザもこの動作をサポートし、その使用がさらに強化されることを意味します。
結論
インターネットではグローバルとして名前付き要素に簡単にアクセスできるにもかかわらず、 Explorer と Chrome では、依然として避けるべき不適切な行為です。ブラウザ間で堅牢かつ明確な DOM 要素操作を行うには、getElementById メソッドを使用するようにしてください。
以上がID 属性の DOM 要素は「getElementById()」で廃止されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。