Javascript Mootools每个函数仅适用于阵列中的最后一个基金
我在页面上获得了两次以下标记,每个.option div都有不同的id,可能还会重复几次Javascript Mootools每个函数仅适用于阵列中的最后一个基金,javascript,arrays,mootools,Javascript,Arrays,Mootools,我在页面上获得了两次以下标记,每个.option div都有不同的id,可能还会重复几次 <div class="optionsHolder"></div> <div class="option selected">Select</div> <div id="option238" class="option">Option1</div> <div id="option239" class="option">
<div class="optionsHolder"></div>
<div class="option selected">Select</div>
<div id="option238" class="option">Option1</div>
<div id="option239" class="option">Option2</div>
<div id="option261" class="option">Option3</div>
任何帮助都将不胜感激。谢谢大家! 我想这正是你想要的
. 您从中获取此信息的代码可能有错误。但是您显示的代码片段应该可以工作。您有多个选项Holder's?,如果有,您是否尝试将这些选项复制到每个选项中。有了你所拥有的是,最后一个选项持有者将获得所有选项,这里一个JSFIDLE就是你所拥有的?@Dampsquid这是目前的两个菜单,我正在尝试为每个人做同样的事情,从特定菜单中抓取选项并将其放置在holder@Marshall这正是我所拥有的,正如你们所看到的,它不适用于第一套,因为你们是通过每个支架循环的。因此,它将首先将它们全部放在第一个持有者(所有的.options)中。但随后会将它们全部放在第二个。thnx用于尝试,但您发布的小提琴上仍然是空的,它应该包含选项im get el not defined for findoptions.each(GetHolder(el));但是我想我知道为什么,我的标记是js生成的var optionholder=new Element('div').addClass('optionholder').inject($(this.optionsContainer)),看起来你的函数在之前就启动了。这是旧的fiddle,请看看新的fiddle。我明白了,但出于某种原因,我仍然得到相同的结果,标记是相同的,js也是一样的,但最后一个持有者抓住了我们自己的元素
var optionscont = $$('.optionsHolder');
var findoptions = $$('.option');
optionscont.each(function (element){
element.adopt(findoptions);
});
function GetHolder( option )
{
var holder = option.getPrevious( ".optionsHolder" )
if( holder )
{
holder.adopt( option );
}
}
var findoptions = $$('.option');
Array.each( findoptions, function( item) { GetHolder( item ) } );