replaceWith替换所有文本,而不是仅null字符串

时间:2019-06-06 20:17:29

标签: javascript jquery html

所以我在替换js / jQuery代码上的null输出时遇到了一些麻烦,即使它是有效的,它也在替换每个文本。

没有if (items[z].Office == null) {语句:
enter image description here

使用if语句:
enter image description here

谁能告诉我我可能做错了什么?感谢所有帮助。

for(z = 0; z < items.length; z++)
{
  var team = '<div class="row"><div class="col-sm-8"><p style="margin-bottom: 0px;">' + items[z].TeamName + '</p></div><div class="col-sm-4"><p class="office" style="margin-bottom: 0px;">' + items[z].Office + '</p></div></div>';
  var single = '<div class="row"><div class="col-sm-8"><p style="margin-bottom: 0px;">' + items[z].Title + '</p></div><div class="col-sm-4"><p class="office" style="margin-bottom: 0px;">' + items[z].Office + 
'</p></div></div>';

  if (items[z].ApplicationType == 'OneDrive') {
      onedriveSessions++; // Used to pull in Sessions
  }
  if (items[z].Office != 'None' && items[z].TeamName != 'None') {
    switch (items[z].ApplicationType) {
      case "OneDrive":
        $(".onedriveTeams").append(team);      	
        break;
  }
  if (items[z].RequestType == 'Single User') {
    switch (items[z].ApplicationType) {
      case "OneDrive":
        $(".onedriveSingles").append(single);
        break;
  }
  if (items[z].Office == null) {
    $(".office").replaceWith("No office");
  }
}

1 个答案:

答案 0 :(得分:1)

'<p class="office" style="margin-bottom: 0px;">' + items[z].Office + '</p>'

此处的这种逻辑(而不是插入null)是默认值。

'<p class="office" style="margin-bottom: 0px;">' + (items[z].Office || 'No office') + '</p>'

然后您不必在事实发生后对其进行修复。