2010-04-05 8 views
17

Teniendo en cuenta este código HTML:

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

¿Por qué coincide con esta selector de jQuery que en algunos navegadores y algunas páginas, pero no en otros?

$('.OpenIdSelector') 

NOTA: me encontré con este problema y lo resolvió a mí mismo, pero era molesto y no me pareció que en StackOverflow ya, así que he publicado como Q & Un par para que otra persona no desperdiciará una hora como yo.

+0

sí, son sensibles a mayúsculas y minúsculas, pero a veces el navegador no / – spielersun

Respuesta

29

Resulta que class selector de JQuery utiliza el nuevo método de javascript getElementsByClassName si el navegador lo admite. Este método no distingue entre mayúsculas y minúsculas en las páginas de modo peculiar, y es sensible a las mayúsculas y minúsculas en las páginas que no son de tipo capricho (también conocidas como estándares). Claro, por lo general es obvio que los casos son diferentes, pero cuando el texto está atascado en el medio de un selector largo y complejo, es difícil de ver. Aparentemente hay muchas diferencias entre estándares y peculiaridades que hay que tener en cuenta.

Moraleja de la historia: el caso del partido todo en el código HTML (nombres de los elementos, clases CSS, etc.) porque nunca se sabe cuando un cambio a un navegador o una biblioteca estándar o podría invalidar la suposición acerca de los casos de insensibilidad .

Cuestiones relacionadas