我正在尝试在UL的每个列表项中注入一个span,这是div中唯一具有mydiv id的UL。以下代码仅注入最后一个列表项。但是consol日志正在为每个列表项编写。谁能告诉我哪里出错了?感谢你的时间。
var myspan = new Element('span', { 'class': 'myspan' });
$$('#mydiv ul li').each(function(el) {
myspan.inject(el);
console.log('the span has been injected');
});
答案 0 :(得分:1)
它注入所有,而不仅仅是最后一次。然后它会在每次迭代时移动它 - 注入更改父节点,使其遍历所有li并最终到达最后一个。你需要克隆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');
});