Foros del Web » Programando para Internet » Javascript »

Duda sobre getElementById

Estas en el tema de Duda sobre getElementById en el foro de Javascript en Foros del Web. Hay alguna función que sea como getElementById pero que en vez que sea por id sea por atributo? Es decir quiero, por ejemplo, obtener el ...
  #1 (permalink)  
Antiguo 01/01/2010, 16:27
Avatar de cdesseno  
Fecha de Ingreso: mayo-2007
Ubicación: Buenos Aires
Mensajes: 111
Antigüedad: 17 años, 7 meses
Puntos: 1
Duda sobre getElementById

Hay alguna función que sea como getElementById pero que en vez que sea por id sea por atributo? Es decir quiero, por ejemplo, obtener el elemento que como evento "onclick" tenga "alert('hola')".

Saludos.
  #2 (permalink)  
Antiguo 01/01/2010, 16:54
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Duda sobre getElementById

no existe una funcion estandar para ello, pero puedes crearla. buscando si existe una funcion encontre este codigo obtenido de http://snipplr.com/view/1853/get-elements-by-attribute/
Código:
function getElementsByAttribute(oElm, strTagName, strAttributeName, strAttributeValue){
var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
var oAttributeValue = (typeof strAttributeValue != "undefined")? new RegExp("(^|\\s)" + strAttributeValue + "(\\s|$)", "i") : null;
var oCurrent;
var oAttribute;
for(var i=0; i<arrElements.length; i++){
oCurrent = arrElements[i];
oAttribute = oCurrent.getAttribute && oCurrent.getAttribute(strAttributeName);
if(typeof oAttribute == "string" && oAttribute.length > 0){
if(typeof strAttributeValue == "undefined" || (oAttributeValue && oAttributeValue.test(oAttribute))){
arrReturnElements.push(oCurrent);
}
}
}
return arrReturnElements;
}
no he verificado bien como funciona pero quizas lo intentaria de otra forma.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 01/01/2010, 17:06
Avatar de cdesseno  
Fecha de Ingreso: mayo-2007
Ubicación: Buenos Aires
Mensajes: 111
Antigüedad: 17 años, 7 meses
Puntos: 1
Respuesta: Duda sobre getElementById

Había probado esa función pero en firefox 3.5 tira NULL como respuesta. No la pude hacer andar.
  #4 (permalink)  
Antiguo 01/01/2010, 17:59
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Duda sobre getElementById

que puedo decirte, a mi me funciona en Fx3.5. el primer parametro tiene que ser el elemento desde donde deseas buscar o recorrer los elementos. por ejemplo, si quieres que sea en todo el documento, le pasas el objeto document. si quieres que busque desde un elemento en particular, le pasas la referencia de ese elemento. el segundo parametro es el nombre del elemento donde esta definido el atributo a buscar, por ejemplo H1, P, LI, DIV, etc. el tercer parametro es el nombre del atributo a buscar, ejemplo ID, CLASS, ONCLICK, ONSUBMIT, etc. y el cuarto parametro es el valor asignado al atributo. al final te devuelve un array de todos los elementos que coinciden con los parametros indicados.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: getelementbyid
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 15:05.