Foros del Web » Programando para Internet » Javascript »

Como utilizo getelmentByClassName???

Estas en el tema de Como utilizo getelmentByClassName??? en el foro de Javascript en Foros del Web. Como utilizo getelmentByClassName??? Estaba leyendo en algunos blogs pero nimguno me condujo a una respuesta lei algo de Prototype.. libreria... descargar un codigo js bien ...
  #1 (permalink)  
Antiguo 27/10/2008, 10:05
Avatar de Null_  
Fecha de Ingreso: octubre-2008
Ubicación: Santiago
Mensajes: 530
Antigüedad: 15 años, 7 meses
Puntos: 30
Como utilizo getelmentByClassName???

Como utilizo getelmentByClassName???
Estaba leyendo en algunos blogs pero nimguno me condujo a una respuesta
lei algo de Prototype.. libreria... descargar un codigo js bien largo... :S

nose bien,
porfavor una ayudita :D
  #2 (permalink)  
Antiguo 27/10/2008, 11:30
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Respuesta: Como utilizo getelmentByClassName???

Hola:

No se trata de un método estándar así que dependes de los navegadores o como tu dices, de librerías...
En este mensaje: DOM para Class, puse un código que puedes usar.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 27/10/2008, 13:43
Avatar de Null_  
Fecha de Ingreso: octubre-2008
Ubicación: Santiago
Mensajes: 530
Antigüedad: 15 años, 7 meses
Puntos: 30
Respuesta: Como utilizo getelmentByClassName???

hola ^^
ero como llamo a la libreria? como un javascript normal, osea asi:
<script type="text/javascript" src="prototype.js"></script>
??

porque de esa manera no me funciona
  #4 (permalink)  
Antiguo 28/10/2008, 11:16
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Respuesta: Como utilizo getelmentByClassName???

Solo necesitas llamar a la función que hizo caricatos.
http://www.forosdelweb.com/f13/dom-p...5/#post2599502
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 29/10/2008, 03:56
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Respuesta: Como utilizo getelmentByClassName???

Hola:

También he modificado la función para elegir desde que tag conseguir esa colección:

Código:
function arrayDesdeClase(contenedor, clase)	{
	resultado = [];
	for (i = 0, todos = contenedor.getElementsByTagName("*"), total = todos.length; i < total; i ++)
		if (todos[i].className == clase) resultado.push(todos[i]);
	return resultado;
}
Y la llamada sería por ejemplo:
pepes = arrayDesdeClase(document.body, "pepe");

En pepes se obtendrían todos los tags con class="pepe";

Y una variante para encontrar más de una clase:

Código:
function arrayDesdeClases()	{
	resultado = [];
	_buscados = arrayDesdeClases.arguments;
	buscados = [];
	contenedor = _buscados[0];
	for (i = 1, total = _buscados.length; i < total; i ++)	buscados[i- 1] = _buscados[i];
	clases = new RegExp("^(" + buscados.join("|") + ")$");
	for (i = 0, todos = contenedor.getElementsByTagName("*"), total = todos.length; i < total; i ++)
		if (clases.test(todos[i].className)) resultado.push(todos[i]);
	return resultado;
}
Donde el primer argumento sería el contenedor, y el resto de argumentos las clases... la forma de uso es similar:

pacos_y_pepes = arrayDesdeClases(document.body, "paco", "pepe");

...por cierto, sobre llamar a las librerías, siempre es conveniente ver las recomendaciones en la página de sus autores.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Última edición por caricatos; 29/10/2008 a las 03:57 Razón: me faltaba una ese "s"
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 09:12.