Ver Mensaje Individual
  #7 (permalink)  
Antiguo 27/07/2009, 15:11
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Marcar checkbox desde otra etiqueta

hay navegadores que incluyen una funcion no estandar parecido a getElementsByTagName pero para obtener los elementos por clases, getElementsByClassName. para compensar los navegadores que no tienen dicha funcion puedes crear tu propia version. de esta manera puedes obtener los elementos independientemente del tipo de elemento: P, DIV, INPUT, etc. a continuacion el codigo para los navegadores que no tienen dicha funcion. por supuesto, tienes que primero cargar el codigo antes de cualquier otro para evitar problemas:
Código:
if(!document.getElementsByClassName){
document.getElementsByClassName = function(className){
var regex = new RegExp(className);
var array = [];
var element = arguments[1] || document.documentElement;
	for(var elem = element.firstChild; elem != null; elem = elem.nextSibling){
	if(elem.nodeType != 1)continue;
	if(regex.test(elem.className)) array.push(elem);
	if(elem.hasChildNodes()) array = array.concat(arguments.callee(className, elem));
	}
return array;
}}
esta funcion es parecida pero no exactamente igual a document.getElementsByClassName. difiere en que en lugar de devolver una coleccion de elementos devuelve un array. tienes que tener muy en cuenta ese detalle porque hay ciertas cosas que no se pueden lograr. por ejemplo, un cambio en el documento, como remover los elementos del documento, altera la coleccion de elementos pero en un array no se puede apreciar dicha alteracion. sencillamente porque un array no es lo mismo que una coleccion.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 27/07/2009 a las 15:18