我有以下jquery代码:
var imgArr = {};
var imgAttrib = $(selector).map(function() {
imgArr.src = $(this).attr('src');
imgArr.id = $(this).attr('id');
imgArr.height = $(this).attr('height');
imgArr.width = $(this).attr('width');
//console.log(imgArr);
imgAttrib.push(imgArr);
console.log("imageAttrib is ");
console.log(imgAttrib);
});
console.log("FINAL imageAttrib is ");
console.log(imgAttrib);
当我检查我的控制台时,控制台会在每次迭代时打印:
imageAttrib is:
[Object{src="some_url",id="123"...]
然而,在循环之后它会打印出来:
FINAL imageAttrib is:
Object[]
正如您所看到的,imageAttrib在循环后变为空,但在其中具有值。我做错了什么?
答案 0 :(得分:1)
您永远不会return
- 并且您使用.map
有点不对 - 这是修改后的版本:
var imgAttrib = $(selector).map(function() {
return {
src: this.src,
id: this.id,
height: $(this).attr('height'),
width: $(this).attr('width')
}
}).get();