对 JSON 来说非常新。
碰到了一个轻微的颠簸。
我有一个提要,如果没有注释的数据,它会将该字符串返回为"未定义"
我只想删除"未定义"的文本并将其保留为空。
这是我的 JS
document.getElementById("tooltipwrap0").innerHTML = '<span style="font-size:22px; font-weight:600;">' + data.users[0].member + " " + data.users[0].party + "-" + data.users[0].state + "<br/>" + '<span style="font-size:18px; font-weight:300;">' + data.users[0].commentnotes + "";
这是我的提要示例
var data={
"users": [
{
"member": "first name",
"party": "F",
"state": "Ala.",
},
任何帮助不胜感激,谢谢!
使用 in
运算符测试条件中的存在性,例如
if ("commentnotes" in data.users[0])
// append data.users[0].commentnotes to your string
但是,由于它将产生的undefined
值是伪造的,您可以简单地尝试获取它并在没有任何内容时使用空字符串:
data.users[0].commentnotes ? data.users[0].commentnotes : ""
可以缩短为
data.users[0].commentnotes || ""
请注意,在字符串串联中使用此表达式时,必须将其括在括号中。
您可以使用
(data.users[0].commentnotes || '')
默认为空字符串,以防实际值为假值或未定义。
试试这个:
var innerHTML = '<span style="font-size:22px; font-weight:600;">' + data.users[0].member + " " + data.users[0].party + "-" + data.users[0].state + "<br/>" + '<span style="font-size:18px; font-weight:300;">';
if (data.users[0].commentnotes){
innerHTML += data.users[0].commentnotes;
}
document.getElementById("tooltipwrap0").innerHTML = innerHTML;