Подтвердить что ты не робот

Селектора классов JQuery, такие как $(. SomeClass), чувствительны к регистру?

С учетом этого HTML:

<div class="OpenIDSelector">some text</div>

Почему этот селектор JQuery соответствует ему на некоторых браузерах и некоторых страницах, но не на других?

$('.OpenIdSelector')

ПРИМЕЧАНИЕ. Я столкнулся с этой проблемой и решил ее сам, но это было неприятно, и я не нашел ее в StackOverflow уже, поэтому я отправляю ее как Q & Пара, чтобы кто-то другой не терял час, как я.

4b9b3361

Ответ 1

Выключает JQuery селектор классов использует новый метод javascript getElementsByClassName, если браузер поддерживает его. Этот метод нечувствителен к регистру на страницах режима quirks и чувствителен к регистру на страницах, отличных от quirksmode (aka standard-compliant). Конечно, обычно очевидно, что случаи разные, но когда текст застрял посреди длинного сложного селектора, его было трудно увидеть. По-видимому, существует множество различий между стандартами и причудами, чувствительных к регистру.

Мораль истории: сопоставление всех вещей в вашем HTML (имена элементов, классы CSS и т.д.), потому что вы никогда не знаете, когда изменение в браузере или стандарте или библиотеке может привести к недействительности вашего предположения о нечувствительности к регистру.