getelementsbyclass - getelementsbytagname javascript ejemplo
Obtener métodos dojo para un elemento DOM (2)
Tengo ''esto'' apuntando a un elemento DOM (un div
o una form
). Quiero usar funciones de dojo sobre ese elemento. Cómo lo haré.
Al igual que en jQuery hacemos $(this).append()
....
hay algo como
dojo.foo(this).connect()
o
dojo.connect(dojo.foo(this),"some", thing);
Descubrí una manera que funcionará, supongo. No sé si es la mejor solución.
Tiene que importar NodeList-cross para usar funciones como hijos, padres ... Referencia: http://dojotoolkit.org/reference-guide/dojo/NodeList-traverse.html#dojo-nodelist-traverse
dojo.require("dojo.NodeList-traverse");
Referencia: http://dojotoolkit.org/reference-guide/dojo/NodeList.html
var nl = new dojo.NodeList(this);
nl.parent();
En Dojo, estás mucho más cerca de JavaScript (el metal en bruto ) que en jQuery.
Entonces, en Dojo, simplemente lo haces:
dojo.connect(this, ...);
No es necesario "ajustar" el elemento DOM con un objeto de clase (como $ de jQuery) para usar las funcionalidades. Muchas funcionalidades en Dojo no están expuestas como propiedades prototipo de un objeto de clase, sino como funciones simples bajo el sistema de espacio de nombres dojo.xxx.
Por ejemplo (suponiendo que "esto" apunta a un nodo DOM):
dojo.connect(this, "onclick", foo, "bar"); // Connects a handler to the Click event on the DOM node, with the context (i.e. this) set to the object foo
dojo.attr(this, "href", "http://www.hello.com"); // Sets an attribute on the DOM node
dojo.style(this, "display", "none"); // Sets the DOM node''s style
dojo.addClass(this, "hello"); // Adds a class to the DOM node
alert(this.parentNode); // You work the DOM nodes with raw JavaScript
dojo.empty(this); // Empty all children in the DOM node
dojo.destroy(this); // Destroy the DOM node and its children
dojo.place(this, someOtherNode); // Put a DOM node as a child inside another node
Construcciones de bucle
dojo.forEach(array, ...); // Instead of array.each(...) as in jQuery style
Si desea recorrer una lista de nodos, en realidad se ve como jQuery:
dojo.query(''query string'').filter(...).forEach(...);
Lea los documentos para más detalles.