Dig*_*ent 0 jquery return function
我试图理解从函数返回jquery中的值的正确方法.我已经检查了API以及其他问题,但我找不到正确的方法来执行此操作.我想要的只是一个返回的简单变量,所以我可以将它设置为全局变量.这是我得到的:
var a = 0, b, c;
var imgArr = [];
$(document).ready(function() { //populates array with images
var smooth = popArr();
alert(smooth);
}
function popArr(){
$("#thumb_slider").children().each(function(index, element) {
var newImg = $("<img />").attr({
src: this.src,
alt: 'space'
}).addClass(index == 0 ? "left_slot" : (index == 1 ? "middle_slot" : "right_slot"));
imgArr.push(newImg);
return imgArr; // This comes back as undefined.
});
}
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么它返回undefined?我甚至应该在Jquery中使用"return"吗?
你试图从.each回调中返回一些东西.该函数唯一有用的返回值是false尽早取消"循环".
简单地移动你的return语句});,一切都应该正常.
您还可以避免全局变量 - 您返回数组,因此无需将其设置为全局变量:
function popArr() {
var imgArr = [];
$("#thumb_slider").children().each(function (index, element) {
var newImg = $("<img />").attr({
src: this.src,
alt: 'space'
}).addClass(index == 0 ? "left_slot" : (index == 1 ? "middle_slot" : "right_slot"));
imgArr.push(newImg);
});
return imgArr;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24930 次 |
| 最近记录: |