| 在昨天的开发中,帮同事看了个问题,一开始也把我给搞晕了,明明写的就是正确的string的 ‘+=’ 出来的内容就是缺少部分内容,一开始没有想到是三级运算符优先级的问题 在开始的时候,主要是在js中组织一段html,代码如下:
 
 [C#] 纯文本查看 复制代码 var html = "";
                    html += "   <span> " + show == 0 ? '是' : '否' + " </span>";
                    html += "   <a href='#' data-id='" + id + "' class='btn btn-success' data-action='editShow'>" + show == 0 ? '不显示' : '显示' + "</a>";
                   
                    $this.parent().html(html);
 然后在页面一直不能正确的显示出这部分html,显示的是下面的内容:
 
 [C#] 纯文本查看 复制代码 <td id="show" style="width: 10%;">否 显示</td>
 
 一开始也在想是什么原因,查看了代码,也没有问题,就想着是不是三级运算符的优先级问题,就在使用三级运算符的地方,添加了‘()’将三级云算法放到一起进行处理,提高优先级,代码如下:
 
 [C#] 纯文本查看 复制代码 var html = "";
                    html += "   <span> " + (show == 0 ? '是' : '否') + " </span>";
                    html += "   <a href='#' data-id='" + id + "' class='btn btn-success' data-action='editShow'>" + (show == 0 ? '不显示' : '显示') + "</a>";
                   
                    $this.parent().html(html);
 然后测试发现正确了,页面也正常显示了组织的html代码,如下所示:
 [C#] 纯文本查看 复制代码 <td id="show" style="width: 10%;">   <span> 否 </span>   <a href="#" data-id="2" class="btn btn-success" data-action="editShow">显示</a></td>
 三级运算符的优先级还是很重要的,以后还是要学习下,再总结帖子,总结内容,加油
  
 
 |