Al parecer la nueva versión del navegador de Mozilla, integrará la famosa función getElementsByClassName como parte de su core. Esto es una gran noticia ya que no tendremos que realizar el apaño mediante javascript y dispondremos de una funcionalidad integrada en el núcleo de la aplicación, mejorando la respuesta y el rendimiento.
Esta función está definida en el Working Draf de Web Applications 1.0 (HTML 5) y seguramente pasará a formar parte del resto de los navegadores en futuras versiones.
/*
Written by Jonathan Snook, http://www.snook.ca/jonathan
Add-ons by Robert Nyman, http://www.robertnyman.com
*/
function getElementsByClassName(oElm, strTagName, strClassName){
var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\\-");
var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
Al estár integrada en el nucle de la aplicación la podremos usar de esta forma para conseguir cualquer elemento de nuestra aplicación
document.getElementsByClassName('test'); // Nos devolverá los elementos con la class "test"
document.getElementsByClassName('test prueba'); // Nos devolverá los elementos con la class "test" y "prueba"
document.getElementById('content').getElementsByClassName('rojo'); // Nos devolverá los elementos con la class 'rojo' dentro de elemento 'main'
2 comentarios, 4 referencias
+
#