javascript - 在javascript中根据条件为图像设置标题
问题描述
我有以下 javascript 代码来显示图像及其信息。从 getImages() 方法我得到两个 API 响应数组。第一个数组有图片 url,第二个有所有者和价格信息。只有 9 个 API 响应,我从中获取图像 URL、其所有者和价格信息。所以在循环中,对于 9 次迭代图像 url 是从 API 获取的,对于休息,我正在设置一些默认图像。因此,对于默认图像,没有所有者和价格信息,因此不应为它们显示标题。
window.onload = function () {
var allImages = "";
var owner,price;
var imgurl = getImages();
var imginfo = imgurl[1];
console.log(imginfo);
for (var i = 0, j = 298; i < j; i++) {
if(imgurl[0][i] == undefined){imgurl[0][i]="image/upload.png"}
if(typeof imginfo[i] === "undefined"){owner = ""; price=""; }
else{owner = imginfo[i]["owner"]; price=imginfo[i]["price"];
}
allImages += '<img class="myImg" src='+ imgurl[0][i] +' id='+i+'_id onclick="openpopup(this.src)" title="owner='+owner+', price='+price+'">';
}
$('#photos').append(allImages);
};
有人可以在代码中给我一些想法吗?如何给出设置图像标题的条件。如果响应未定义,请将标题设置为空。
解决方案
只需在 else 部分添加 title 属性并将其从<img>
标签中删除。
window.onload = function() {
var allImages = "";
var owner, price;
var imgurl = getImages();
var imginfo = imgurl[1];
console.log(imginfo);
for (var i = 0, j = 298; i < j; i++) {
if (imgurl[0][i] == undefined) {
imgurl[0][i] = "image/upload.png"
}
if (typeof imginfo[i] === "undefined") {
owner = "";
} else {
owner = 'title="owner=' + imginfo[i]["owner"] + ', price=' + imginfo[i]["price"] + '"';
}
allImages += '<img class="myImg" src=' + imgurl[0][i] + ' id=' + i + '_id onclick="openpopup(this.src)" ' + owner + '>';
}
$('#photos').append(allImages);
};
推荐阅读
- azure - Azure Monitor:查询禁用的功能
- json - 从 JSON 中提取特定键到列表中
- javascript - 如何将数组设置为对象键javascript
- php - Laravel 获取屏幕高度
- derby - debian 10 上的德比数据库 create=true
- sql - SQL - 从月份的日期计数中排除银行假期
- r - felm 函数:多路聚类方差矩阵中的负特征值
- unity3d - 如何统一改变旋转中心?
- python - 由掩码定义的区域中的阈值分割
- amazon-web-services - CloudFormation CodePipeline 模板无权执行 AssumeRole,为什么?