Behaviour.js - getElementsBySelector - getElementsBy- Javascript
Simon Willison desarrollo getElementsBySelector es una función javascript la cual toma como parametro de entrada una regla de selección como las que se usan en CSS, y retorna una matriz (array) de elementos que cumplan con el selector, por ejemplo:
var arrObjects = document.getElementsBySelector("div#main p a.external");
Referencia de selectores:
http://www.sidar.org/recur/desdi/traduc/es/css/selector.html
La función nos retorna una matriz (array) con todos los enlaces cuyo atributo class es “external” y que estan contenidas dentro de un parrafo el cual esta contenido en un div cuyo atributo id es “main”.
<div id="main">
<p>
<a href="http://www.google.com" class="external">google</a>
<a href="http://www.wordpress.com" class="external">wordpress</a>
<a href="http://www.getfirefox.com" class="noclass">firefox</a>
</p>
</div>
En este ejemplo solo retorna los 2 primeros enlaces, el último no tiene clase “external” y no cumple la regla de selección. Una vez que tenemos los elementos deseados podemos cambiar sus atributos y/o asignar eventos.
Página Oficial:
http://simonwillison.net/2003/Mar/25/getElementsBySelector/
Demo:
http://simonwillison.net/static/2003/getElementsBySelector.html
Descarga:
http://simonwillison.net/static/2003/getElementsBySelector.js
Behaviour.js
Ben Nolan desarrollo Behaviour.js que es una libreria javascript basada en la función getElementsBySelector de Simon Willison, cuyo objetivo es limpiar de código del marcado HTML de una página, de forma que queden completamente separados la presentación con el código que define el comportamiento de los elementos del DOM.
Si por ejemplo tuvieras este código (html y javascript todo en un solo sitio)
<li>
<a onclick="this.parentNode.removeChild(this)" href="#">
Click me to delete me
</a>
</li>
Se podria transformar en 2 capas, la presentación html por un lado:
<ul id="example">
<li>
<a href="/someurl">Click me to delete me</a>
</li>
</ul>
y el código javascript por otro lado:
var myrules = {
'#example li' : function(el){
el.onclick = function(){
this.parentNode.removeChild(this);
};
};
};
Behaviour.register(myrules);
Página oficial y demos:
http://www.bennolan.com/behaviour/Demos Avanzados:
http://www.bennolan.com/behaviour/more.htmlDescargar:
http://www.bennolan.com/behaviour/behaviour.jsgetElementsBy
Buscando información acerca de la funcion y la libreria me he encontrado con esta pagina en donde agrupa las funciones que empiezan con getElementsBy (les recuerdo que algunas son nativas del mismo lenguaje y otras son implementadas por usuarios avanzados):
getElementById
getElementsByName
getElementsByTagName
getElementsByTagNames
getElementsByClassName
getElementsBySelector
getElementsByAttribute
getElementsByAnything
Pagina Oficial:
http://getelementsby.com
Visto en:
http://www.anieto2k.com/2006/05/04/getelementby/
http://meneame.net/story.php?id=15637
1 Comentario hasta ahora
Leave a reply











Yo tambien he hecho mis pinitos con getElementBy… en este caso hice dos aproximaciones, una que te permite hacer selección de elementos en base a expresiones CSS:
http://nbsp.es/2007/03/03/stylus-la-nueva-api-de-acceso-a-elementos-html/
Y la otra es el getElementBy(”atributo”,”valor”):
http://www.nbsp.es/2007/03/20/getelementsbyname-y-getelementby/
Ya se que está inventado, pero que no se diga que no hay producción nacional de código útil
saludos!!