如何使用 jquery $.each 绕过未定义(读取“src”)
2022-10-07
93
如何在 jquery $.each 格式中绕过未定义(读取“src”)。
我有大约 100 种产品,有些有图片,有些没有。
使用 jquery $.ajax 我能够获得响应。然后我按照以下方式使用 $.each 格式的响应
$.each(response, function (i, item) {
console.log(item);
var gmi = item.images[0].src;
});
上述代码适用于带有图片的产品,并且在 ajax 调用中限制为 1。 但是,当我解除限制并加载所有产品(包括没有图片的产品)时,相同的代码会引发错误,并且页面无法构建。
Uncaught TypeError: Cannot read properties of undefined (reading 'src')
我尝试了下面的代码,创建一个 var 来更改 src,甚至使用 .lenght 尝试绕过它,但没有成功。
$.each(response, function (i, item) {
console.log(item);
if(item.images =="undefined"){
var gmi = "no image applied";}
else {var gmi = item.images[0].src;}
});
或
$.each(response, function (i, item) {
console.log(item);
var img = item.images;
img.lenght;
if(img ===0){
var gmi = "no image applied";}
else {var gmi = item.images[0].src;}
});
在 item 数组中。带有图片的产品有 item.images[0].src ,没有图片的产品有 item.images , item.images 为空,这让我很头疼。
那么当图像对象没有“src”时,可以绕过吗?
敬请原谅。
2个回答
查看可选链接
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining
var gmi = item?.images[0]?.src;
E-g
2022-10-07
第二段代码中有拼写错误。你的意思是?
var img = img.length;
Wakeel
2022-10-07