Foros del Web » Programando para Internet » Javascript »

Como logro obtener un selector asi?

Estas en el tema de Como logro obtener un selector asi? en el foro de Javascript en Foros del Web. Hola les paso a comentar, necesito seleccionar una lista de LI dentro de una clase que esta en un UL seria asi: <ul class="CLASE"> <li></li> ...
  #1 (permalink)  
Antiguo 23/07/2012, 14:26
Avatar de Ex_shadow  
Fecha de Ingreso: febrero-2012
Ubicación: Calera Avellaneda, Buenos Aires, Argentina, Argentina
Mensajes: 95
Antigüedad: 12 años, 2 meses
Puntos: 4
Pregunta Como logro obtener un selector asi?

Hola les paso a comentar, necesito seleccionar una lista de LI dentro de una clase que esta en un UL seria asi:

<ul class="CLASE">
<li></li>
<li></li>
</ul>

Que me devuelva la lista con la cantidad de LI , en este ejemplo seria 2... y poder cambiar sus id en un for... yo lo tengo de esta manera pero me sale error :

Código Javascript:
Ver original
  1. // -- For Identificadores
  2.     lis = document.querySelectorAll(Carrousel+' li');
  3.     Cantidad = lis.length;
  4.     for(i=0;i <= Cantidad; i++){
  5.             lis[i].id = Prefijo+i;
  6.         }
  7.        
  8.  
  9. }

Quisiera saber como puedo imitar esta linea para obtener el array de los LI :

lis = document.querySelectorAll(Carrousel+' li');

Este es el error en la consola de chrome:

Uncaught TypeError: Cannot set property 'id' of undefined javascript.js:34
Cm_Carrousel

Esta es la linea:

lis[i].id = Prefijo+i;



Les agradeceria mucho cualquier aporte, desde ya no tengo intenciones de utilizar jquery...
  #2 (permalink)  
Antiguo 23/07/2012, 14:35
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: Como logro obtener un selector asi?

por eso tenemos la funccion find() en jquery
__________________
cada vez que aprendes algo te crees que no sabes nada
  #3 (permalink)  
Antiguo 23/07/2012, 14:45
Avatar de hmvr414  
Fecha de Ingreso: marzo-2011
Ubicación: Santiago de Cali, Colombia
Mensajes: 74
Antigüedad: 13 años, 1 mes
Puntos: 16
Respuesta: Como logro obtener un selector asi?

$("ul.CLASE").children();
  #4 (permalink)  
Antiguo 23/07/2012, 14:53
Avatar de Ex_shadow  
Fecha de Ingreso: febrero-2012
Ubicación: Calera Avellaneda, Buenos Aires, Argentina, Argentina
Mensajes: 95
Antigüedad: 12 años, 2 meses
Puntos: 4
Respuesta: Como logro obtener un selector asi?

Cita:
por eso tenemos la funccion find() en jquery
Cita:
$("ul.CLASE").children();

No tengo intenciones de utilizar jquery...
  #5 (permalink)  
Antiguo 23/07/2012, 14:57
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: Como logro obtener un selector asi?

pues de aqui puedes empesar
Código Javascript:
Ver original
  1. var children = document.getElementById('id').childNodes;
__________________
cada vez que aprendes algo te crees que no sabes nada
  #6 (permalink)  
Antiguo 23/07/2012, 15:09
Avatar de Ex_shadow  
Fecha de Ingreso: febrero-2012
Ubicación: Calera Avellaneda, Buenos Aires, Argentina, Argentina
Mensajes: 95
Antigüedad: 12 años, 2 meses
Puntos: 4
Respuesta: Como logro obtener un selector asi?

Cita:
Iniciado por arros Ver Mensaje
pues de aqui puedes empesar
Código Javascript:
Ver original
  1. var children = document.getElementById('id').childNodes;
Código Javascript:
Ver original
  1. lis = document.getElementById(Carrousel).childNodes;
  2.     Cantidad = lis.length;
  3.     for(i=0;i <= Cantidad; i++){
  4.             lis[i].id = Prefijo+i;
  5. }

Error consola : Uncaught TypeError: Cannot set property 'id' of undefined

Código HTML:
Ver original
  1. <!-- Slider --->
  2. <div id="Slider">
  3.    
  4.     <!-- Carrousel --->
  5.     <ul class="Carrousel" id="Carrousel">
  6.        
  7.         <!-- Contenido --->
  8.         <li class="Select">
  9.             <img src="@Imagen" />
  10.             <p>@Informacion</p>
  11.         </li>
  12.        
  13.         <!-- Contenido --->
  14.         <li>
  15.             <img src="@Imagen" />
  16.             <p>@Informacion</p>
  17.         </li>
  18.        
  19.         <!-- Contenido --->
  20.         <li>
  21.             <img src="@Imagen" />
  22.             <p>@Informacion</p>
  23.         </li>
  24.  
  25.         <!-- Contenido --->
  26.         <li>
  27.             <img src="@Imagen" />
  28.             <p>@Informacion</p>
  29.         </li>
  30.  
  31.         <!-- Contenido --->
  32.         <li>
  33.             <img src="@Imagen" />
  34.             <p>@Informacion</p>
  35.         </li>
  36.        
  37.     </ul>
  38.  
  39. </div>

No funciona...
  #7 (permalink)  
Antiguo 23/07/2012, 15:19
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: Como logro obtener un selector asi?

mira este ejemplo alicalo a tu manera
Código Javascript:
Ver original
  1. var children = document.getElementById('li').getElementsByTagName('*');
  2. $.each(children, function(e){
  3. alert(e);
  4. });
__________________
cada vez que aprendes algo te crees que no sabes nada
  #8 (permalink)  
Antiguo 23/07/2012, 15:33
Avatar de Ex_shadow  
Fecha de Ingreso: febrero-2012
Ubicación: Calera Avellaneda, Buenos Aires, Argentina, Argentina
Mensajes: 95
Antigüedad: 12 años, 2 meses
Puntos: 4
Respuesta: Como logro obtener un selector asi?

Perfecto, pero tengo un problema, sigue saliendo el mismo error, el proposito de este tema era solucionar ese error, ya que antes se agregaban los id, al igual que con tu codigo o el mio funcionaba... solo que todo el codigo que se situaba debajo del for dejaba de funcionar... mira te paso el script completo es basico y corto...


Código Javascript:
Ver original
  1. // --- Variables Necesarias
  2.  
  3. var Carrousel = 'Carrousel'; // -- Variable del ul
  4. var Prefijo = 'Contenedor'; // -- Prefijo de los id , seran aumentados...
  5. var Foco = 0; // -- Imagen que esta seleccionada
  6. var Contador =0;
  7.  
  8. // --- Carrousel
  9. function Cm_Carrousel(e){
  10.    
  11.     // -- Carrousel
  12.     EV3_Carrousel = document.getElementById(Carrousel);
  13.    
  14.     // -- Evento del teclado
  15.     Evento = e || window.event;
  16.     Letra = Evento.keyCode;
  17.    
  18.     // -- Movimiento derecho
  19.     if(Letra == 39){       
  20.            
  21.             document.getElementById(Prefijo+Foco).removeAttribute('class');
  22.            
  23.             Foco++;
  24.            
  25.             document.getElementById(Prefijo+Foco).setAttribute('class','Select');
  26.            
  27.            
  28.     }
  29.    
  30.     // -- For Identificadores
  31.         lis = document.getElementById(Carrousel).getElementsByTagName('li');
  32.         Cantidad = lis.length;
  33.         for(i=0;i <= Cantidad; i++){
  34.                 lis[i].id = Prefijo+i;
  35.     }
  36.  
  37. }
  38.  
  39. window.onload = function(){
  40.    
  41.     document.onkeyup = Cm_Carrousel;
  42.    
  43. }

Sigue sin funcionar todo lo que valla debajo del for,pense que era por el querySelector pero por lo que veo no lo es...

los id solo se agregan al precionar una tecla cualquiera, si el for lo saco de la funcion no funciona más...por eso no comprendo ÉL PORQUE?
  #9 (permalink)  
Antiguo 23/07/2012, 15:37
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Como logro obtener un selector asi?

Me parece perfecto que para semejante güevada no uses yaicuery. Es un despropósito.
A menos que ya lo tengas puesto para otra cosa que sí lo justifique.

Ésta es una forma de hacerlo.

Cita:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">

<script type="text/javascript">

function alfa(){
var bravo = document.getElementById("Carrousel");
var charly = bravo.getElementsByTagName("li").length;

//alert("Cantidad de <li> : " + charly)

for(l=0; l<charly; l++){
bravo.getElementsByTagName("li")[l].id = "delta" + l;
}

alert(bravo.innerHTML)
}

onload=alfa;

</script>
</head>
<body>
<div id="Slider">

<!-- Carrousel --->
<ul class="Carrousel" id="Carrousel">

<!-- Contenido --->
<li class="Select">
<img src="@Imagen" />
<p>@Informacion</p>
</li>

<!-- Contenido --->
<li>
<img src="@Imagen" />
<p>@Informacion</p>
</li>

<!-- Contenido --->
<li>
<img src="@Imagen" />
<p>@Informacion</p>
</li>

<!-- Contenido --->
<li>
<img src="@Imagen" />
<p>@Informacion</p>
</li>

<!-- Contenido --->
<li>
<img src="@Imagen" />
<p>@Informacion</p>
</li>

</ul>

</div>

</body>
</html>
¿Qué ya no habías preguntado antes sobre esto?
  #10 (permalink)  
Antiguo 23/07/2012, 15:45
Avatar de Ex_shadow  
Fecha de Ingreso: febrero-2012
Ubicación: Calera Avellaneda, Buenos Aires, Argentina, Argentina
Mensajes: 95
Antigüedad: 12 años, 2 meses
Puntos: 4
Respuesta: Como logro obtener un selector asi?

Cita:
Iniciado por furoya Ver Mensaje
Me parece perfecto que para semejante güevada no uses yaicuery. Es un despropósito.
A menos que ya lo tengas puesto para otra cosa que sí lo justifique.

Ésta es una forma de hacerlo.



¿Qué ya no habías preguntado antes sobre esto?
Si habia preguntado, pero era sobre otra cosa del mismo carrousel, cuando lo empese tenia más o menos la idea de como hacerlo , pero habian cosas que no me quedaban claras , y ya hice 25 veces el mismo codigo xDDD

Voy a probar tu codigo me parece más limpio que el mio, aunque medio militarizado aajajajaj Cambio. xD
  #11 (permalink)  
Antiguo 23/07/2012, 16:03
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Como logro obtener un selector asi?

A emprear también le hace gracia como nombro las funciones y variables. Pero ya me acostumbré, así no me pierdo.

No me había fijado que se te colgaba después del bucle; ¿no será porque tienes un <= en vez de un < ?

Hay más formas de hacer esto, pero así te evitas los malentendidos de los diferentes navegadores con respecto a quién es "hijo primogénito" de cual. Hasta que realmente se estandarice.

Y sí, ya vi. Era otra parte del proyecto. Me quedó en la cabeza lo del slide con listas.
  #12 (permalink)  
Antiguo 23/07/2012, 16:14
Avatar de Ex_shadow  
Fecha de Ingreso: febrero-2012
Ubicación: Calera Avellaneda, Buenos Aires, Argentina, Argentina
Mensajes: 95
Antigüedad: 12 años, 2 meses
Puntos: 4
Respuesta: Como logro obtener un selector asi?

Acá lo adapte a mi nesesidad xD


function Identificador(){

lis = document.querySelectorAll(Carrousel+' li');
Cantidad = lis.length;

for(i=0; i<Cantidad; i++){
lis[i].id = Prefijo+i;
}
}

Etiquetas: arrays, funcion, listas, selector
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 22:16.