dojo/query and jQuery's selectors are not returning proper DOM nodes, but are returning a list of nodes.
You can see an example using jQuery on this JSFiddle. As you can see in the console, it says "No it isn't", which means it isn't returning the DOM node of the selector you wrote, you can even see in the console what it actually returns (an array of DOM nodes).
I also made the same example using Dojo in this JSFiddle. As you can see there, dojo/query doesn't return a DOM node either but a list of DOM nodes. However, when you use the dojo/dom module and the method byId() you will get a DOM node as a result.
This explains why your code doesn't work. If you're using a query, you can use dojo/NodeList-dom to get all nodes independently and call the function on each node, or if you're sure there's only 1 DOM node, you can also use:
require(["dojo/query", "dojo/domReady!"], function(query) {
var myNode = query("...")[0];
});
But then I think something is wrong with the modules you're using. A query is used to retrieve zero to many results and you should use it that way. If you want to get a specific DOM node you should identify it by using ID's and use the dojo/dom module since it's made for that purpose.