Foros del Web » Programando para Internet » Javascript »

Seleccionar varios id con document.querySelectorAll

Estas en el tema de Seleccionar varios id con document.querySelectorAll en el foro de Javascript en Foros del Web. Hola amigas y amigos a ver si me pueden echar una mano con esto: Necesito seleccionar varios id por eso creo que tengo que usar ...
  #1 (permalink)  
Antiguo 15/07/2018, 12:08
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 11 años, 11 meses
Puntos: 5
Seleccionar varios id con document.querySelectorAll

Hola amigas y amigos a ver si me pueden echar una mano con esto:

Necesito seleccionar varios id por eso creo que tengo que usar queryselectorall

Para un solo id uso esto:

Código Javascript:
Ver original
  1. document.getElementById("icono")

y para varios id uso esto:
Código Javascript:
Ver original
  1. document.querySelectorAll("#icono");

Pero no me funciona

Pondre el codigo a ver si me pueden ayudar:
Si me ayudan a que me seleccione un id con queryselectorall supongo que añadirle varios id mas , deberia ser facil pero no me funciona


Código HTML:
Ver original
  1. <div id="icono"></div>

Código Javascript:
Ver original
  1. var varIcono = document.querySelectorAll("#icono");
  2.  
  3.                 for (i = 0; i <= 5; i++)
  4.  
  5.                     {
  6.                         if(varPuntuacion.value == i)
  7.  
  8.                             {                          
  9. varIcono.innerHTML="<img src='imgs/icono_" + [i-1] + ".png' style='margin-left:" + ( ([i-1]*fragmentoAnchura) - ([i-1]*17.5) ) + "px;'>";
  10.                             }
  11.                     }


gracias de antemano
  #2 (permalink)  
Antiguo 15/07/2018, 17:19
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 1 mes
Puntos: 1146
Respuesta: Seleccionar varios id con document.querySelectorAll

en lugar de usar un ID utiliza una clase, recuerda que el ID debe ser unico en todo el documento.
  #3 (permalink)  
Antiguo 16/07/2018, 00:48
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 11 años, 11 meses
Puntos: 5
Respuesta: Seleccionar varios id con document.querySelectorAll

Hola Arturo, pues he puesto class="pizza" y class="kebab".

y tambien he puesto

Código Javascript:
Ver original
  1. document.querySelectorAll(".pizza,.kebab");

Y sigue sin funcionar.


Es mas pero con queryselectorall , se podian seleccionar tanto class como ids tambien

¿O estoy equivocado?
  #4 (permalink)  
Antiguo 16/07/2018, 08:53
 
Fecha de Ingreso: junio-2004
Mensajes: 621
Antigüedad: 19 años, 10 meses
Puntos: 25
Respuesta: Seleccionar varios id con document.querySelectorAll

Me figuro que es porque varIcono es un array.

Prueba a poner varIcono[i].innerHTML...
__________________
eContento
- Mis artículos y tutoriales
- Mis jsfiddles
  #5 (permalink)  
Antiguo 16/07/2018, 09:03
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 1 mes
Puntos: 1146
Respuesta: Seleccionar varios id con document.querySelectorAll

Si se puede obtener multiples IDs separados por coma, pense que intentabas usar el mismo ID en multiples elementos.

Viendo de nuevo tu código, es ta mal planteado, querySelectorAll genera un array con los elementos obtenidos, asi sea un solo elemento sera un array

Esto siempre te dara error
Código Javascript:
Ver original
  1. var varIcono = document.querySelectorAll("#icono");
  2. varIcono.innerHTML="<img src='imgs/

por lo que debes acceder mediante su index, por ejemplo
Código Javascript:
Ver original
  1. var arr = document.querySelectorAll('.demo,.pizza,.comida');
  2. for(var i=0;i<arr.length; i++){
  3.     console.log(arr[i]);
  4. }
  #6 (permalink)  
Antiguo 16/07/2018, 09:13
 
Fecha de Ingreso: junio-2004
Mensajes: 621
Antigüedad: 19 años, 10 meses
Puntos: 25
Respuesta: Seleccionar varios id con document.querySelectorAll

El otro error que tenía tu código es que una imagen su innerHTML es "".

En todo caso será su outerHTML pero ya andas jugando con fuego. Es preferible quitar el objeto del DOM y añadir uno nuevo. El problema es que si la imagen que quitas del DOM tiene registrado algún listener para eventos, aunque borres el elemento y lo quites del DOM, como tiene alguien que lo referencia (el escuchador del evento), no lo quitaras de la memoria.

Esto suele ser una fuente de Memory Leaks en JavaScript.

La mayoría de los frameworks te abstraen de cometer estos errores, pues ya hacen esas comprobaciones internamente, y gestionan los correspondientes unbind pero ¿Quién quiere frameworks sabiendo JavaScript?

Espero haberte ayudado.
__________________
eContento
- Mis artículos y tutoriales
- Mis jsfiddles

Etiquetas: funcion
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 03:49.