将html元素转换为dojo Node?

时间:2012-04-06 00:56:51

标签: javascript dojo

我试过

var div = document.createElement('div');
var nodeList = new query.NodeList();
nodeList.push(div);
nodeList.children(".someClass");
// I get error Uncaught TypeError: Object [object HTMLDivElement] has no method 'children'

所以我猜我必须将html元素转换为dojo Node元素?你是怎么做到的?

另外,当您将父级视为没有id或类的htmlElement变量以及具有classNames的子级时,您是否知道查询元素的子节点(基于子级的classNames)的更好方法?

为了解释,请向克雷格摇摆

2 个答案:

答案 0 :(得分:1)

dijit.findWidgets(DOMNode)在DOMNode中查找并​​返回小部件。这将返回该DOMNode中的所有顶级小部件。

答案 1 :(得分:0)

当您阅读文档中的Node时,它指的是一个dom节点,而不是Dojo特有的任何东西。

如果您要创建一个新的dom节点,那么您应该使用dom-construct。

http://dojotoolkit.org/reference-guide/1.7/dojo/dom-construct.html

给定一个特定节点,您可以使用以下命令查询其所有子节点:

var parentNode = ...
dojo.query('> *', parentNode).forEach(....);

http://dojotoolkit.org/reference-guide/1.7/dojo/query.html#dojo-query