Foros del Web » Programando para Internet » Javascript »

Obtener elementos por atributo

Estas en el tema de Obtener elementos por atributo en el foro de Javascript en Foros del Web. Buenas! Si bien en JS hay (por ejemplo) un método para obtener elementos mediante ID y TagName, me gustaría saber si hay algo parecido, pero ...
  #1 (permalink)  
Antiguo 20/08/2013, 00:50
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Obtener elementos por atributo

Buenas!

Si bien en JS hay (por ejemplo) un método para obtener elementos mediante ID y TagName, me gustaría saber si hay algo parecido, pero con atributo, es decir:

document.getElementsByAttribute("onclick");

Recogería todos los elementos con el atributo "onclick".

Haciendo debug en Chrome no he encontrado nada, pero tampoco se si hay algún método alternativo...

Cualquier ayuda es bienvenida.

Gracias.
  #2 (permalink)  
Antiguo 20/08/2013, 01:48
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Obtener elementos por atributo

Código Javascript:
Ver original
  1. document.querySelectorAll("[onclick]");

Pero no es compatible con algunas versiones de IE.


Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 20/08/2013, 01:53
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Obtener elementos por atributo

Cita:
Iniciado por Carlangueitor Ver Mensaje
Código Javascript:
Ver original
  1. document.querySelectorAll("[onclick]");

Pero no es compatible con algunas versiones de IE.


Saludos
Probaré a ver que tal... supongo que para versiones viejas de IE que no soporten esto puedo dejar la función que tengo ahora... jejeje.

Gracias.
  #4 (permalink)  
Antiguo 20/08/2013, 01:57
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Obtener elementos por atributo

Igual hay forma de hacerlo funcionar: http://www.codecouch.com/2012/05/add...pport-to-ie-7/


Lo que me da curiosidad es saber para que quieres usarlo exactamente

Saludos
__________________
Grupo Telegram Docker en Español
  #5 (permalink)  
Antiguo 20/08/2013, 02:57
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Obtener elementos por atributo

Es para una pequeña función que trata elementos añadiendo atributos varios, es algo así como:

Inicio:

<input title="_00fe" />

En mi función (actualmente):

Código Javascript:
Ver original
  1. v = new Array['input', 'div' /*, etc*/];
  2.  
  3. for(i=0;i<v.length;i++){
  4.   e = document.getElementsByTagName(v[i]);
  5.  
  6.   for(j=0;j<e.length;j++){
  7.     if(e[j].title.charAt(0)=='_'){
  8.       //llamada a AJAX que me retorna un array de atributos
  9.       //mientras se ejecuta, quito el "title"
  10.       //añado la lista de atributos
  11.     }
  12.   }
  13. }

La cosa está en que en algunos casos tengo que volver a llamar a esta función, por lo que vuelve a procesar TODOS los elementos...

sin embargo, si solo tomo lo que tengan "title" me ahorro un buen tiempo de cómputo (ya que a parte de tener una lista menor de elementos, elimino un bucle for, y me ahorro un if...)

El tema está en que la web que estoy implementando es bastante dinámica y tiene muchos raros (entre otras cosas, algo así como un "Hibernate-PHP" de implementación propia), y me veo en situación de hacer uso de estas artimañas, jejeje.
  #6 (permalink)  
Antiguo 20/08/2013, 12:07
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Obtener elementos por atributo

¿Probaste con algo como una clase?
__________________
Grupo Telegram Docker en Español
  #7 (permalink)  
Antiguo 20/08/2013, 23:10
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Obtener elementos por atributo

No, no conozco demasiado a fondo JS... se que hay clases, incluso las he usado para AJAX, pero no veo cómo podría manejar esto con clases...

Un saludo.
  #8 (permalink)  
Antiguo 21/08/2013, 00:05
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Obtener elementos por atributo

Clases, en HTML: class="nombre-de-clase"

Saludos
__________________
Grupo Telegram Docker en Español
  #9 (permalink)  
Antiguo 21/08/2013, 00:24
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Obtener elementos por atributo

¡Ah!, corchi-caray

Claro, clases HTML... el caso es que muchos elementos tienen (por temas de CSS), pero claro, entonces, ¿en qué mejoraría usar clases para mejorar mi función?

Etiquetas: elementos, js
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:48.