在MooTools中的另一个DOM元素中添加元素

Anu*_*rag 6 javascript mootools dom

我可以Elements使用抓取或注入或其他任何内容添加另一个DOM元素内的对象吗?

对象中有两个项目,都是通过Javascript创建的Element类型:

var firstElem = new Element("div", {text: "something"}); // <div>something</div>
var secondElem = new Element("div", {text: "else"});     // <div>else</div>
var myDivs = new Elements([firstElem, secondElem]);
Run Code Online (Sandbox Code Playgroud)

myDivs包含元素(firstElem,secondElem)作为数组,我想将此myDivs对象添加到下面的DOM元素,使用类似的东西$("container").grab(myDivs).所以添加前的DOM状态如下:

<div id="container"></div>
Run Code Online (Sandbox Code Playgroud)

添加后,它看起来像:

<div id="container">
    <div>something</div>
    <div>else</div>
</div>
Run Code Online (Sandbox Code Playgroud)

但是在调用时我收到此错误$("container").grab(myDivs):

Uncaught Error: NOT_FOUND_ERR: DOM Exception 8
Run Code Online (Sandbox Code Playgroud)

我可以逐个将每个元素添加到容器中,但我想知道是否有一种方法可以Elements直接添加对象,因为我的解决方案的架构方式.

Sam*_*son 7

你应该用.adopt().在jsBin上查看此示例:http://jsbin.com/anayu

window.addEvent("domready", function(){ 

  var firstElem  = new Element("div", {text: "something"}); 
  var secondElem = new Element("div", {text: "else"}); 
  var myDivs     = new Elements([firstElem, secondElem]); 

  $("container").adopt(myDivs); 

}); 
Run Code Online (Sandbox Code Playgroud)