我实际上已经没有想法了。我可能在这里有邋code的代码,但是它有效,直到它缺少一个返回undefined
的数组。我尝试了以下内容:
if( typeof myVar == "undefined"){}
if(myVar === "undefined"){}
if(myVar != undefined){}
- 基本上,大多数事情都是我的知识。
现在,我知道如何正常捕获未定义或空对象,但这令我感到沮丧。
当其中一个数组返回undefined时,它会说:
GET http://127.0.0.1:2368/undefined/ 404 (Not Found)
var postImage = $(".post-image");
var imageURL =
$('.post-image img').map(function () {
return this.src;
});
var i = 0;
for (var i = 0; i < imageURL.length; i++) {
postImage.each(function () {
$(this).append('<div class="fetch-image" style="background-image:url(' + imageURL[i++] + ')">');
$(".post-image img").remove();
});
}
我希望能够使用后备/undefined/
替换backgroundImage
网址,以防首先没有设置图片。图像src
仅在图像存在时(显然)收集,但如果没有图像可以获取src
,我希望能够设置后备,替换缺少或undefined
数组。
希望这是有道理的!
很多问候,
詹姆斯。
编辑:我在each()
范围内外尝试了以下内容:
if (typeof imageURL === "undefined") {
alert("something is undefined");
}
我必须在这里遗漏一些东西。
答案 0 :(得分:3)
你尝试的所有事情都是错的......
if( typeof someVariable == "undefined")
答案 1 :(得分:1)
你的循环包括:
imageURL[i++]
这将在每次迭代时将i
的值递增两次。因此,即使最后一次迭代的索引超出了数组的范围,循环也会继续。
您的数组子索引应该只设置为i
(imageURL[i]
),并将第三个for
参数设置为i+=2
。然后循环不应返回undefined
值(因为i
将始终在数组的范围内)。