Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

200
Views
Comportamiento extraño con: seleccionar en .find()

Estoy en proceso de actualizar un sitio que actualmente usa jQuery 1.3.2 a al menos 1.10.2. Cuando lo hago, el sitio se ahoga con comandos como este:

 this.form.find(':select[name="fieldtype"]');

Esto no debería funcionar, debería ser: this.form.find('select[name="fieldtype"]'); - sin los dos puntos - pero de hecho funciona.

No he encontrado nada que sugiera que ':select...' es válido. ¿Es posible que los dos puntos simplemente se ignoraran en jQ 1.3.2?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

EDITAR :

Me olvidé por completo de los pseudoselectores personalizados. Si, para fines heredados, necesita una versión más nueva de jQuery para tratar :select como select , puede hacer esto:

 jQuery.extend(jQuery.expr[':'], { select: function (el) { return jQuery(el).is('select'); } });

Y ahora jQuery(':select') y jQuery('select') son expresiones equivalentes.

Explicación

Parece ser un error con el motor de selección sizzle css utilizado por jquery, por lo que jquery podría seleccionar elementos dom antes de document.querySelectorAll fuera una cosa (o una cosa ampliamente disponible). jQuery 1.3.2 usa sizzle 0.9.3 (¡anterior a la versión 1!), la próxima versión de jQuery, 1.4.0, usa sizzle 1.0.0, donde el error no está presente.

El error parece ser específicamente que las etiquetas adecuadas con el prefijo ":" se interpretarán como una etiqueta en lugar de un pseudo no válido.

Puedes verificar que sizzle es el culpable:

  • Descargar jquery 1.3.2 y jquery 1.4
  • Copie el bloque sizzle 1.0.0 de 1.4 y reemplace el bloque sizzle 0.9.3 en 1.3.2

Su versión "híbrida 1.3.2" ahora también rechazará el selector.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!