ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript でのグローバル要素 ID アクセスがブラウザ間で異なるのはなぜですか?標準は何ですか?

JavaScript でのグローバル要素 ID アクセスがブラウザ間で異なるのはなぜですか?標準は何ですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-13 02:06:08648ブラウズ

Why Does Global Element ID Access in JavaScript Differ Between Browsers, and What's the Standard?

グローバル要素 ID アクセス: Web 標準およびブラウザーの動作との一致

質問:

JavaScript では、次の方法で要素にアクセスします。ドット表記 (a.method()) を使用した ID は Chrome ではグローバルに機能しますが、そうではありませんFirefoxで。 Web 仕様に従った正しい動作は何ですか?さらに、Chrome は ID 変換における ID の曖昧さと特殊文字をどのように処理しますか?

回答:

要素 ID へのグローバル アクセスに関する動作は、参照されている仕様によって異なります。 .

  • HTML4 仕様: この動作については説明されていません
  • WHATWG HTML 仕様: この動作が必要です。

ブラウザーは歴史的に互換性のためにこの動作を採用しており、Internet Explorer が最初にこの動作を導入しました。 Firefox は Quirks モードでもこれをサポートしています。

正しい動作:

WHATWG HTML 仕様によれば、ID を持つ要素はグローバルにアクセスできる必要があります。ただし、一般に、要素の参照にグローバル名前空間に依存することは適切ではないと考えられています。

Chrome でのあいまいさの処理:

Chrome は現在、グローバル変数とグローバル変数の間のあいまいさを処理しません。要素 ID も適切です。グローバル変数と同じ ID を持つ要素が存在する場合、グローバル変数を介してその要素にアクセスすると、予期しない動作が発生する可能性があります。

特殊文字を含む ID 変換:

ID 内の特殊文字には、getElementById() メソッドを使用してアクセスできます。ただし、これらの文字のグローバル変数表現への変換は、どの仕様でも明示的に定義されていません。

以上がJavaScript でのグローバル要素 ID アクセスがブラウザ間で異なるのはなぜですか?標準は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。