Foros del Web » Programando para Internet » Javascript »

getElementsByTagName

Estas en el tema de getElementsByTagName en el foro de Javascript en Foros del Web. hola!!!!!!!!!!!! gente creo que esto esta bien pero a la vez esta mal, no da error pero tampoco hace lo que quiero teoricamente esto deberia ...
  #1 (permalink)  
Antiguo 10/01/2004, 19:18
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
getElementsByTagName

hola!!!!!!!!!!!!

gente creo que esto esta bien pero a la vez esta mal, no da error pero tampoco hace lo que quiero

teoricamente esto deberia aplicarle el estilo normales a toooooodos los td del documento, es asi?

y porque no anda! jeje
espero me den una manita

document.getElementsByTagName("td").className = "normales";

__________________
On error no hago nada porque deje de fumar...
  #2 (permalink)  
Antiguo 11/01/2004, 04:23
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola dieguicho:

Tienes que hacer un pequeño arreglo:

var tds = document.getElementsByTagName("td");
for (var i = 0; i < tds.length; i ++)
tds[i].className = "normales";

Esto: document.getElementsByTagName("td") devuelve un array y luego hay que manipular cada elemento del array por separado.

Saludos
  #3 (permalink)  
Antiguo 11/01/2004, 15:21
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
no se puede hacer esto o lo estoy haciendo mal?

var tds = document.getElementsByTagName("td").className = "ocupado";

asi encuentra todas las td que tiene el estilo ocupado y ahi le aplico otro
__________________
On error no hago nada porque deje de fumar...

Última edición por dieguicho; 11/01/2004 a las 15:32
  #4 (permalink)  
Antiguo 11/01/2004, 17:25
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Cuando tienes un array, no puedes tratarlo como si fuesen elementos sueltos.
A un array solo le puedes aplicar "length" o longitud, lo demás debes manejarlo independientemente, a no ser que le definas métodos, pero es algo más complicado.

Definitivamente, lo que pretendes hacer no se puede (En ocasiones me equivoco, pero en este caso creo que no)

Saludos
  #5 (permalink)  
Antiguo 11/01/2004, 18:08
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
entiendo..
el problem es que me aplica el estilo a todos y hay uno que no quiero que se le aplique

si utilizo getElementByName

la manera de hacerlo seria la misma solo que a cada td debo transformarla en <td name="td"> correcto?
__________________
On error no hago nada porque deje de fumar...
  #6 (permalink)  
Antiguo 11/01/2004, 18:20
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Vamos progresando!...

getElementByName no existe. Fíjate que debe llevar la "s", y eso significa que se puede tratar de muchos, incluso si hubiera un solo elemento para manipularlo tendrías que usar el índice.

getElementById => es un elemento concreto, y si hubieses creado más de un elemento con el mismo "id", solo podrías manejar uno (el primero).

getElementsByName => grupo de elementos con índice. Puedes saber el número de elementos con ".length"

getElementsByTagName => igual al anterior, pero agrupados por la etiqueta (tag) y no por el name.

Entonces tu conclusión es correcta, pero en vez de usar getElementByName debes usar getElementById y en vez de name ="td" debes poner id ="td"

Espero que lo hayas entendido y suerte.

Saludos
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 18:02.