Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

195
Visualizações
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?

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

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.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda