Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/01/2015, 10:14
Avatar de sonickseven
sonickseven
 
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 5 meses
Puntos: 2
crear una funcion similar a $ de jquery

Hola que tal muchachos, como estan. Mi problema es que yo uso mucho javascript puro, para capturar eventosy trabajar con el DOM. para esto me cree dos funciones:
Código Javascript:
Ver original
  1. se(tag){
  2.      return document.querySelector(tag);
  3. }
  4.  
  5. si(tag){
  6.      return document.querySelectorAll(tag)
  7. }

me funcionan bn, pero para usar la funcion si() me toca primero iterar de la siguiente forma:
Código Javascript:
Ver original
  1. [].forEach.call(si('article#lp>article[data-type="sg"]'), function (elem) {
  2.     elem.addEventListener(evento, funcion, false);
  3. });

mientras que con se solo se() necesita llamar la funcion y ya.

esas tres lineas que me toma iterar para llamar a si() se me estan haciendo muy largas(teniendo en cuenta que la uso muy frecuente).
No existe una posibilidad de poder hacerla como se().
Hize unas pruebas pero no me han functionado como espearaba:
Código Javascript:
Ver original
  1. function si(tag, cb){
  2.     [].forEach.call( document.querySelectorAll(tag), function (elem) {
  3.             cb(elem)
  4.     });
  5. }
  6.  
  7. si('article#lp>article[data-type="sg"]', function(elem){
  8.     elem.addEventListener();
  9. });
pero siempre son las tres lineas, claro que ya son mas cortas :D un alivio, pero m gustaria que solo quedara asi:
Código Javascript:
Ver original
  1. si('article#lp>article[data-type="sg"]').addEventListener();//no funciona por que tiene que estar iterado
  2. $('article#lp>article[data-type="sg"]').on()//si funciona pero es jquery y no me sirve a mi

gracias por la atencion chicos :D