我有一些代码遍历数组并将数据添加到HTML表中。
对于“ Unit_Sell”字段之一,我想在HTML前面加上“£”符号。
这是我尝试过的。
for (var i = 0; i < arr.length; i++) {
var node = win.document.createElement("tr")
for (var key of ['description', 'ref_date_start', 'ref_date_end', 'unit_sell', 'qty', 'price']) {
var tb = win.document.createElement("td")
if (key = 'unit_sell') {
tb.innerHTML = '£' + arr[i][key]
}
tb.innerHTML = arr[i][key]
tb.style.paddingLeft = "30px";
node.appendChild(tb)
}
}
该循环工作正常,但不满足if语句条件。
答案 0 :(得分:2)
正如已经指出的那样,您需要将key
与'unit_sell'
进行比较,而不是进行分配。但是,您还需要一个else
分支,否则条件中的innerHTMl
将被覆盖。
for (var i = 0; i < arr.length; i++) {
var node = win.document.createElement("tr")
for (var key of ['description', 'ref_date_start', 'ref_date_end', 'unit_sell', 'qty', 'price']) {
var tb = win.document.createElement("td")
if (key === 'unit_sell') {
tb.innerHTML = '£' + arr[i][key]
} else {
tb.innerHTML = arr[i][key]
}
tb.style.paddingLeft = "30px";
node.appendChild(tb)
}
}
答案 1 :(得分:0)
这是比较的问题。您输入:
if (key = 'unit_sell') {
应该在什么时候出现:
if (key == 'unit_sell') {
编写方式是使用赋值而不是比较。
答案 2 :(得分:0)
if (key == 'unit_sell') {
tb.innerHTML = '£' + arr[i][key]
}
还有一个很棒的JS教程 https://github.com/getify/You-Dont-Know-JS