无法让dojo.place工作

Joe*_*ssi 2 javascript dojo dom

无论出于何种原因,这个小小的道场都没有用.我不得不承认,我对道场很新.

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

在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>
Run Code Online (Sandbox Code Playgroud)

知道为什么这不起作用吗?

Ken*_*iro 5

dojo.place期望domNode或id 的第二个参数,而不是NodeList(这是你提供它的,因为你在dojo.query那里使用).

您可以轻松地将该行代码简化为以下内容,它应该可以工作:

dojo.place(cloned, "placeBefore", "before");
Run Code Online (Sandbox Code Playgroud)

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