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

Учитывая этот HTML:

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

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

$('.OpenIdSelector')

Примечание: Я столкнулся с этой проблемой и решил ее сам, но это было раздражающим, и я уже не нашел его на StackOverflow, таким образом, я отправляю ее как пару Вопросов и ответов, таким образом, кто-то еще не потратит впустую час как, я сделал.

18
задан Sparky 2 May 2012 в 18:12
поделиться

1 ответ

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

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

31
ответ дан 30 November 2019 в 07:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: