JavaScript の世界では、ID によって要素にアクセスすることは、多くの場合、利便性と仕様への準拠の間の決定を必要とします。 。 Chrome は要素 ID をグローバル変数として扱うショートカットを採用していますが、Firefox は document.getElementById() を使用するというより厳密なアプローチに固執しています。
HTML4 仕様によれば、要素 ID を作成する必要はありません。グローバル変数。ただし、Internet Explorer は便宜上この動作を導入し、他のブラウザも互換性のためにこれに倣いました。
一方、Chrome では、グローバル変数であるかのように ID を介して要素を操作できます。 、それは独自の一連の癖をもたらします。スクリプトに a と
Firefox は W3C 仕様により厳密に従い、ドキュメントの使用を必要とします。 getElementById() を使用して、ID によって要素にアクセスします。このアプローチにより、一貫性が確保され、グローバル変数で発生する可能性のある潜在的な競合が回避されます。
ハイフン (-)、コロン (:) などの特殊文字を含む ID ) とピリオド (.) は別の課題を引き起こします。 Chrome はこれらの文字をグローバル変数名前空間に変換しますが、Firefox では document.getElementById() を介して ID にアクセスする必要があります。
Chrome の利便性にもかかわらず、一般的に次の事項に従うことをお勧めします。仕様を参照し、要素を ID で参照する場合は document.getElementById() または jQuery の同等のものを使用してください。このアプローチにより、グローバルな名前空間の汚染が最小限に抑えられ、ブラウザー間で一貫した動作が促進されます。
以上がChrome と Firefox で要素 ID へのアクセスが異なるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。