Atributos (ids o names) con paréntesis cuadrados y jquery

El otro dia en el trabajo tuve la necesidad de selecciones con jquery una id que contenía parétesis cuadrados (como este “Customer[Main][Last_Name]”) y, si alguna vez lo has intentado, no es posible hacerlo :S
Los atributos “id” y “name” no pueden contener ‘[]’s en html, pero algunos desarrolladores en mi empresa no lo saben (o no quienren saberlo ¬¬). Si puedes cambiar el ID o el name mejor hazlo, y no hagas hacks innecesarios, pero si, como yo, no puedes cambiar el código, continúa leyendo para ver la solución a este problema 🙂
Esto lo he encontrado en los foros de jquery http://forum.jquery.com/topic/jquery-jquery-wont-recognise-attribute-names-containing-square-brackets#14737000000283511 . No me fue fácil encontrarlo, así que lo voy a poner aquí por si alguien más tiene el msimo problema.
Simplemente hay que declarar una función como la siguiente:
function $$(selector, context){
return jQuery(selector.replace(/(\[|\])/g, '\\$1'),
context)
}
view rawgistfile1.js hosted with ❤ by GitHub
Esto quitará los paréntesis cuadrados y pasa la función a jquery para que pueda funcionar sin problemas.
Puedes seleccionar los ids y names con $$:
$$('#contact[email]') ...
view rawgistfile2.js hosted with ❤ by GitHub
Espero que te sirva 🙂
Un saludo!

Acerca de: Programator

Somos Instinto Programador

0 comentarios:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

Con tecnología de Blogger.