我有一个函数,它将包装应用于不同的元素(并做一些与此问题无关的其他内容)。我希望函数返回wrap元素的全局性作为jQuery选择。我不想重新选择它们。
我尝试过这样的事情:
myfunction(){
return $mythings.each(function(){
$wrap = $("div.wrap");
$(this).wrap($wrap);
//do some other stuff
return $wrap;
});
};
但这回归了$ mythings。
所以我试过这个:
myfunction(){
var $returnOfTheWrap = $();
$mythings.each(function(){
$wrap = $("div.wrap");
$(this).wrap($wrap);
//some different actions
return $returnOfTheWrap.push($wrap);
});
return $returnOfTheWrap;
};
返回$($(wrap));
知道我怎么解决这个问题?我想得到$(wrap0,wrap1,wrap2)回来
答案 0 :(得分:1)
我认为你正在寻找地图功能 http://api.jquery.com/jQuery.map/
试
<SCRIPT type=text/javascript>
$(function(){
$.each($(".button"),function(i,n)
{
alert(i+ ":" + $(n).html());
});
var wrapped = myfunction($(".button"));
//alert(wrapped.length);
$.each(wrapped,function(i,n)
{
alert(i+ ":" + $(n).html());
});
});
function myfunction(mythings){
return $.map(mythings,function(n,i){
$wrap = $("<div></div>");
$(n).wrap($wrap);
//do some other stuff
return $(n).parent();
});
}
</SCRIPT>
</HEAD>
<BODY>
<button class="button">a</button>
<button class="button">b</button>
<button class="button">c</button>
</BODY>
答案 1 :(得分:0)
也许你想尝试这样的事情
这会将我的列表框选项(未编辑)返回为DOM元素
var existingtitles = $(“#existingtitles option”)。each(function(){return $(this);});
并将其处理为数组或w / e