2012-04-06 105 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中的所有頂級小部件。