How can I normalise a JavaScript object to a DOM element with YUI3?

371 views Asked by At

YUI2's Dom.get accepts both a DOM element or an id string as a parameter. In YUI3, Y.one is the replacement for Dom.get but it only accepts CSS selectors, not DOM elements. Is there a simple way, using YUI3, to normalise a JavaScript object to a DOM element?

2

There are 2 answers

0
Walter Rumsby On BEST ANSWER

To support the same signature as YAHOO.util.Dom.get you could do something like this:

var getNode = function(el) {
    return Y.one('#' + el) || new Y.Node(el);
};

Here's an example of the function above in use.

0
james.bunt On

According to the API docs for Y.one it does accept a DOM element.

node a node or Selector

I think you can also pass a YUI 3 Node to it too. The only thing it doesn't do that DOM.get did is accept an id that isn't a CSS selector (e.g. 'foo' instead of '#foo').