teacher taekwondo student programa monsters code dojo

taekwondo - dojo.byId() funciona pero dijit.byId() no funciona



dojo taekwondo (2)

dojo.byId("appointment_stylist_id");

Devuelve el elemento.

dijit.byId("appointment_stylist_id");

Devuelve el widget.

Usando dijit.byId también puede obtener el valor del elemento como:

dijit.byId("appointment_stylist_id").getValue();

Tengo un campo de selección con id appointment_stylist_id . Por algún motivo, el primero de ellos devuelve mi elemento pero el segundo devuelve undefined :

console.log(dojo.byId(''appointment_stylist_id'')); console.log(dijit.byId(''appointment_stylist_id''));

¿Alguna idea de por qué?


Esto se debe a que dojo.byId hace lo que desea (encuentra un elemento DOM con una ID particular) y dijit.byId no lo hace.

dijit.byId es una función para buscar un widget específico por su nombre asignado (id). Esta función es similar a dojo.byId pero mientras dojo.byId devuelve DOMNodes, dijit.byId devuelve un objeto de JavaScript que es la instancia del widget.

...

dijit.byId y dojo.byId menudo se confunden, particularmente por usuarios dojo.byId . Esta función debe usarse cuando desee obtener un control directo de la instancia del objeto JavaScript de su widget y acceder a las funciones de ese widget.

http://dojotoolkit.org/reference-guide/dijit/byId.html

Ver también

¿Cuál es la diferencia entre dojo.byId y dijit.byId?