以下代码允许我将JSON数组中的条目附加到网页和表元素内:
//define a function that will fetch status and set icon URL
function setServerProcessesServer1761() {
var url = "Server1761.json";
var $svc = $("#Server1761-processes"); //get a reference to your <div>
$.getJSON(url, function(data) {
document.getElementById(
"Server1761-processes"
).innerHTML = data.processes
.filter(s => s.Name.value.includes("company_name"))
.map(
s =>
`<table><tr><td>${s.Name.value}</td> <td>${
s.Status
}</td></tr></table>`
);
$("#Server1761-processes").html(function(_, html) {
return html.replace(/runn1ng/g, "<img src='smallgreen.png' />");
});
$("#Server1761-processes").html(function(_, html) {
return html.replace(/fai1ed/g, "<img src='smallred.png' />");
});
}); // you will have to concatenate the entire services request line on line 130
}
//special jQuery syntax to run when document is ready (like onload but better)
$(function() {
setServerProcessesServer1761();
});
最终发生的事情是在每个表格行之后,插入了一个逗号,
:
我以为我无意中在代码中编写了脚本,但是当我尝试CTRL+F
时,我没有找到任何逗号。
我考虑了一些,我的下一个猜测是它附加了数组中列出的JSON条目,而逗号存在于JSON数组中。
我的问题是,如何从JSON数组中删除逗号,并允许我的表行条目看起来更像是一个没有中断或逗号的综合表,如下所示:
答案 0 :(得分:4)
将元素的innerHTML
设置为数组时
elem.innerHTML = [1, 2, 3]
该数组在幕后转换为字符串,然后呈现给DOM。
默认情况下,对数组进行字符串化将其所有元素与逗号连接起来。
console.log(
[1, 2, 3].toString() === [1, 2, 3].join(',')
)
&#13;
您可以通过手动加入其他内容来覆盖此内容,例如新行:
console.log(
[1, 2, 3].join('\n')
)
&#13;