Добавление элементов в другой элемент DOM в MooTools - PullRequest
6 голосов
/ 11 января 2010

Могу ли я добавить объект Elements в другой элемент DOM, используя захват или инъекцию или что-нибудь еще?

В объекте есть два элемента, оба типа Element, которые созданы с помощью Javascript:

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 объект в элемент DOM ниже, используя что-то вроде $("container").grab(myDivs). Таким образом, состояние 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 ]

7 голосов
/ 11 января 2010

Вы должны использовать вместо .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); 

}); 
4 голосов
/ 11 января 2010

Метод элемента: принять

Работает как элемент: захватить, но позволяет использовать несколько элементов.

Это должно быть именно то, что вы ищете;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...