图像可以以JSON格式包含[1,2,3,4]个状态(占位符,处理,接受,拒绝)。我正在找出一个函数来检查属性并选择正确的图像放在Mustache HTML中。
我尝试了以下内容:
for (let i=0;i<101;i++) {
var output = Mustache.render(template, view[i]);
$('#entryTable tbody').append(output);
if (view[i].status == 2) {
this.getElementById('picture1').src= 'img/analyzing.png';
} else if (view[i].status == 3) {
this.getElementById('picture1').src= 'img/irrelevant.png';
console.log(this)
} else if (view [i].status == 4) {
this.getElementById('picture1').src= 'img/relevant.png';
}
但是&#39;这个&#39;是指文件,而不是图像 - &gt;它只会更改出现的第一张图像(重复所有条目)。
接下来,我试过了:
for (let i=0;i<101;i++) {
var output = Mustache.render(template, view[i]);
$('#entryTable tbody').append(function() {
//the default image in the template is state 1, hence it checks for state 2 and above
if (view[i].state == 2) {
this.getElementById('picture1').src= 'img/analyzing.png';
} else if (view[i].state == 3) {
this.getElementById('picture1').src= 'img/irrelevant.png';
console.log(this)
} else if (view [i].state == 4) {
this.getElementById('picture1').src= 'img/relevant.png';
}
return output;
});
似乎(?)工作但只附加一个条目。
我没有经历过&#39;这个&#39;,我如何将它带到正确的上下文/范围来更改条目特定的图像?
答案 0 :(得分:0)
解决
if (view[i].state === 1) {
$("#entryTable tbody tr .status1").eq(i).attr("src", "img/analyzing.png");
} else if (view[i].state === 3) {
$("#entryTable tbody tr .status1").eq(i).attr("src", "img/irrelevant.png");
} else if (view[i].state === 4) {
$("#entryTable tbody tr .status1").eq(i).attr("src", "img/relevant.png");
}
}