このHTMLを考えると:
<div class="OpenIDSelector">some text</div>
このJQueryセレクターが一部のブラウザーと一部のページで一致するのに、他のページでは一致しないのはなぜですか?
$('.OpenIdSelector')
注:私はこの問題に遭遇し、自分で解決しましたが、面倒で、StackOverflowでまだ見つけられなかったので、Q&Aペアとして投稿しているので、他の誰かが私のように1時間を無駄にすることはありません。
このHTMLを考えると:
<div class="OpenIDSelector">some text</div>
このJQueryセレクターが一部のブラウザーと一部のページで一致するのに、他のページでは一致しないのはなぜですか?
$('.OpenIdSelector')
注:私はこの問題に遭遇し、自分で解決しましたが、面倒で、StackOverflowでまだ見つけられなかったので、Q&Aペアとして投稿しているので、他の誰かが私のように1時間を無駄にすることはありません。
ブラウザがサポートしている場合、JQueryのクラスセレクターは新しいjavascriptメソッドgetElementsByClassNameを使用することがわかりました。このメソッドは、クァークズモードのページでは大文字と小文字を区別せず、非クァークズモード(標準に準拠)のページでは大文字と小文字を区別します。確かに、ケースが異なることは通常明らかですが、テキストが長くて複雑なセレクターの真ん中に詰まっていると、見づらくなりました。どうやら、標準と癖の間には大文字と小文字が区別される多くの違いに注意する必要があります。
話の教訓:ブラウザ、標準、またはライブラリへの変更が大文字と小文字を区別しないという仮定を無効にする可能性があるのはいつかわからないため、HTML内のすべて(要素名、CSSクラスなど)の大文字と小文字を一致させます。