質問:
JavaScript では、次の方法で要素にアクセスします。ドット表記 (a.method()) を使用した ID は Chrome ではグローバルに機能しますが、そうではありませんFirefoxで。 Web 仕様に従った正しい動作は何ですか?さらに、Chrome は ID 変換における ID の曖昧さと特殊文字をどのように処理しますか?
回答:
要素 ID へのグローバル アクセスに関する動作は、参照されている仕様によって異なります。 .
ブラウザーは歴史的に互換性のためにこの動作を採用しており、Internet Explorer が最初にこの動作を導入しました。 Firefox は Quirks モードでもこれをサポートしています。
正しい動作:
WHATWG HTML 仕様によれば、ID を持つ要素はグローバルにアクセスできる必要があります。ただし、一般に、要素の参照にグローバル名前空間に依存することは適切ではないと考えられています。
Chrome でのあいまいさの処理:
Chrome は現在、グローバル変数とグローバル変数の間のあいまいさを処理しません。要素 ID も適切です。グローバル変数と同じ ID を持つ要素が存在する場合、グローバル変数を介してその要素にアクセスすると、予期しない動作が発生する可能性があります。
特殊文字を含む ID 変換:
ID 内の特殊文字には、getElementById() メソッドを使用してアクセスできます。ただし、これらの文字のグローバル変数表現への変換は、どの仕様でも明示的に定義されていません。
以上がJavaScript でのグローバル要素 ID アクセスがブラウザ間で異なるのはなぜですか?標準は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。