2010-11-06 80 views
2

无论出于何种原因,这条dojo工作不起作用。我必须承认,虽然我对道场相当陌生。无法让dojo.place工作

dojo.query("#addIngredient").onclick(function(){ 
     var ingredients = dojo.query(".ingredients"); 
     var cloned = dojo.clone(ingredients); 
     dojo.place(cloned, dojo.query("#placeBefore"), "before"); 
    }); 

在Firebug中,dojo.query和dojo.clone事件似乎是工作的罚款,它只是被在dojo.place混淆。这是html:

<input type="button" id="addIngredient" value="Add ingredient" /> 
    <div class="ingredients"> 
    //some code 
    </div> 
    <div id="placeBefore" style="clear:both; height: 1px;"></div> 

任何想法为什么这不工作?

回答

5

dojo.place的第二个参数需要一个れ或ID,而不是一个节点列表(这是你提供什么它,因为你正在使用dojo.query那里)。

您可以轻松地简化了该行的代码下面,它应该工作:

dojo.place(cloned, "placeBefore", "before"); 

参考:http://www.dojotoolkit.org/api/dojo.html#dojo.place