あなたは「どれほど悪い」と尋ねました。@RobertKoritnikの(完全に正確な)答えを少し具体化するには...
そのコードは間違っています。不正確なものはグレーの色合いではありません。このコードは標準に違反しているため、正しくありません。検証チェックに失敗するため、そうする必要があります。
とは言っても、現在市場に出回っているブラウザはそれについて文句を言うことも、問題を起こすこともありません。ブラウザはそれについて文句を言う権利の範囲内にありますが、現在のバージョンのどれも現在のところそうではありません。これは、将来のバージョンでこのコードが不適切に扱われない可能性があることを意味するものではありません。
cssまたはjavascriptでセレクタとしてそのIDを使用しようとするあなたの動作は推測できず、おそらくブラウザによって異なります。各ブラウザがそれに対してどのように反応するかを調べるための調査ができると思います。最良の場合、「class =」のように扱い、それらのリストを選択すると思います。(ただし、JavaScriptライブラリを混乱させる可能性があります.jQueryの作成者であれば、セレクターコードを最適化して、「#」で始まるセレクターを使用して1つのオブジェクトを取得し、リストは私を完全に困らせるかもしれません。)
また、最初の1つ、場合によっては最後の1つを選択することも、どれも選択しないことも、ブラウザーを完全にクラッシュさせることもあります。それを試さずに伝える方法はありません。
「どれほど悪い」かは、特定のブラウザがHTML仕様をどの程度厳密に実装しているか、そしてその仕様の違反に直面したときに何をするかに完全に依存します。
編集:私はちょうど今日偶然これに出くわした。さまざまな種類のエンティティの検索フォームからさまざまなコンポーネントを取得して、このサイト用の優れた大きなオールインワンレポートユーティリティを作成します。リモートページの検索フォームを非表示のdivにロードし、それらを適切なエンティティタイプがレポートのソースとして選択された場合のレポートジェネレーター。したがって、フォームの非表示バージョンと、レポートジェネレーターに表示されるバージョンがあります。付属のJavaScriptは、すべての場合において、IDで要素を参照します。IDの要素には、現在2つのページがあります(非表示の要素と表示されている要素)。
jQueryが実行していると思われるのは、最初の1つを選択することです。これは、すべての場合において、私が望んでいないものです。
この問題を回避するには、フィールドを取得するページの領域を指定するセレクターを作成します(例:$( '#containerDiv #specificElement'))。しかし、あなたの質問に対する答えが1つあります。ChromeのjQueryは、この仕様違反に直面したとき、確実に特定の動作をします。