$(".class#id")
o $("#id.class")
será tanto trabajo.
Todos los comentarios en esta pregunta es que no hay ninguna razón para hacer esto ... puede que no exista un motivo de "mejores prácticas" para hacer esto con un programa bien diseñado, pero en el mundo real la mayoría de nosotros trabajamos en empresas que tienen bases de código que no están muy bien organizadas y si está trabajando en un gran programa de archivos de 10.000+, es posible que no desee reemplazar una identificación no descriptiva y al agregar una clase al selector puede ayudar a sus compañeros codificadores a entender de dónde vino el ID.
El caso en cuestión, yo trabajo en un proyecto en el que tenemos DIV contenedor que crean "widgets" en la página ... estos "widgets" se les da una identificación numérica de la base de datos, por lo que terminan con <div id="12345" class="widget">
de
Alguien más ha codificado la id ambigua mucho antes de trabajar aquí ... pero sigue siendo así. Cuando escribo JQuery, preferiría no confundir más el código ... así que en lugar de $("#12345")
podría preferir $(".widget#12345")
para que alguien no tenga que pasar media hora tratando de descubrir que el 12345 id en este escenario es para un widget.
Si bien $("#12345")
y $(".widget#12345")
selecciono lo mismo ... hace que el código sea mucho más legible para mis compañeros de trabajo y eso es más importante que una fracción de segundo en la mejora de velocidad para el javascript.
¿Por qué le gustaría seleccionar por clase si conoce la identificación? Por diseño, los ID son únicos, por lo tanto, esta sería la forma más rápida de seleccionar un elemento. – cfbarbero
No entiendo. La identificación debe ser ÚNICA y finalizar todo el filtrado. Aplicar cualquier cosa + identificación debe ser exactamente lo mismo que seleccionar solo por ID. ¿Por qué querrías hacer esto alguna vez? –
En cualquier caso, estoy bastante seguro de que jQuery se detiene cuando encuentra la primera instancia de un selector con una ID, lo que imposibilita la diferenciación de clases de ID duplicados. –