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

时间:2010-01-11 14:34:38

标签: javascript dom mootools

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

对象中有两个项目,都是通过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]);

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

<div id="container"></div>

添加后,它看起来像:

<div id="container">
    <div>something</div>
    <div>else</div>
</div>

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

Uncaught Error: NOT_FOUND_ERR: DOM Exception 8

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

2 个答案:

答案 0 :(得分: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); 

}); 

答案 1 :(得分:4)

<强> Element method: adopt

  

像Element一样工作:抓取,但允许采用多个元素。

这应该是你正在寻找的;)