2012-04-06 104 views
2

我试图做将html元素转换为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元素转换为道场节点元素?你怎么做到这一点?

另外,你知道更好的方式来查询一个元素的子节点(基于儿童的classNames),当父母作为一个htmlElement变量没有ID或类,和孩子与classNames?

THX克雷格摆动的解释

+0

将使用DOJO解析器的帮助吗?一个很好的链接在http://dojotoolkit.org/reference-guide/1.7/dojo/parser.html – 2012-04-06 00:59:47

回答

0

当你的文档中读取节点,它指的是一个DOM节点,而不是具体到道场什么。

如果您正在创建一个新的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

+0

如何查询所有的孩子和他们的孩子? – Derek 2012-04-06 02:20:47

1

dijit.findWidgets(DOMNode)的发现和的DOMNode内返回窗口小部件。这将返回该DOMNode中的所有顶级小部件。