You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript拼接HTML代码至变量时渲染显示NaN问题咨询

问题诱因
  • 核心原因是字符串拼接时多写了冗余的一元加号运算符:在拼接下拉选项菜单容器的代码段中,上一行字符串末尾已经写了用于字符串拼接的+,下一行test变量前又额外多写了一个+,JS引擎会将这个多余的前缀+识别为数值强制转换运算符,尝试把后续的操作数转为Number类型。
  • test变量存储的是循环拼接生成的HTML选项字符串,不属于合法数字格式,类型转换结果为NaN,最终拼接生成的HTML对应位置就会显示NaN,无法正常渲染预期的下拉选项内容。
修复方案

直接删除test变量前多余的那个+即可,修正后的代码如下:

var test = "";
for (var i = 0; i < controlResponse.classifications.length; i++) {
    test += '<div role="option" aria-checked="false" class="select item" style="pointer-events: all;"><span class="text">' + controlResponse.classifications[i].name + ' </span></div>';
}
   
for (var i = 0; i < controlResponse.fileList.length; i++) {
    var htmlCode = '<div class="row">                                                                                                                                                      '+
         '   <div class= "ten wide computer sixteen wide mobile ten wide tablet column">                                                                                                    '+
         '   <h5 class="ui header">                                                                                                                                                          '+
         '       <i aria-hidden="true" class="file word outline large icon fa-fw"></i>                                                                                                       '+
         '       <div class="content">outlook_testler.docx</div>                                                                                                                             '+
         '   </h5>                                                                                                                                                                           '+
         '       </div > <div class="six wide computer sixteen wide mobile six wide tablet column">                                                                                          '+
         '       <div role="listbox" aria-expanded="false" class="ui selection dropdown" tabindex="0" style="float: right;">                                                                 '+
         '           <div aria-atomic="true" aria-live="polite" role="alert" class="divider default text">Classification</div><i aria-hidden="true" class="dropdown icon"></i>               '+
         '           <div class="menu transition classifications">' +
            test +
         '           </div>                                                                                                                                                                  ' +
         '   </div>                                                                                                                                                                      '+
         '   </div>                                                                                                                                                                          '+
         '   </div>';
    $("#classificationModalList").append(htmlCode);
}

内容的提问来源于stack exchange,提问作者Mehmet Ceylan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 18:43:03