2011-12-23 2 views
0

Я пытаюсь ввести интервал в каждый элемент списка UL, который является единственным UL в div с id mydiv. Код ниже вводится только в последний элемент списка. Но журнал консоли записывается для каждого элемента списка. Может ли кто-нибудь сказать мне, где я ошибаюсь? thanx для вашего времени.Mootools: вставляйте пролет в каждый элемент списка UL

var myspan = new Element('span', { 'class': 'myspan' }); 
    $$('#mydiv ul li').each(function(el) { 
     myspan.inject(el); 
     console.log('the span has been injected'); 
}); 

ответ

1

Он вводит во все, а не только последние. он затем перемещает его с каждой итерацией - впрыск изменяет родительский узел, поэтому он проходит через все лики и заканчивается в последнем. вам необходимо клонировать элемент span:

var myspan = new Element('span', { 'class': 'myspan' }); 
$$('#mydiv ul li').each(function(el) { 
    myspan.clone().inject(el); 
    console.log('the span has been injected'); 
}); 
+0

Спасибо за ваше время. Димитар, это, конечно, решение. Не видел проблему с клоном. – Twincascos

Смежные вопросы