2

我试着做

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 变量以及具有类名的子级时,您是否知道查询元素的子节点(基于子级的类名)的更好方法?

谢谢克雷格摇摆的解释

4

2 回答 2

1

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

于 2012-04-06T09:13:24.283 回答
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

于 2012-04-06T02:00:19.667 回答