javascript - 字符串拼接问题
黄舟
黄舟 2017-04-11 13:01:17
[JavaScript讨论组]
 for (var i in  dat){

            areaCont+="
  • "+""+""+dat[i].img+" " +""+dat[i].address+""+""+dat[i].score+""+""+"
  • "; } 问题是这样的;由于遍历dat里面的数据时;有一个属性dat[i].img有图片也有数字;当遍历到图片时插入图片;数字时直接插入;请问这个判断怎么写
    黄舟
    黄舟

    人生最曼妙的风景,竟是内心的淡定与从容!

    全部回复(6)
    黄舟

    你建一个中间变量,用isNaN(val)判断是不是数字,是图片的时候加上<img>, 然后把中间变量插进去呗。

    怪我咯

    使用is_numeric()函數判斷是否數字

    伊谢尔伦

    一个比较麻烦的做法就是先过滤dat[i].img的内容,再操作。

    天蓬老师

    dat[i].img 改成 getImgContent(dat[i].img)

    function getImgContent(data){
      return isNaN(data) ? '<img src="'+ data +'" />'; : data;
    }
    伊谢尔伦

    建议前端的同学用以下方式拼接HTML, 让HTML的结构清楚明了

    另: 基于你的nodejs环境很大可能已经支持ES6, 所以下边也用了 Template literals 模板语法

    areaCont = dat.map(function(item, i){
        return [
            `<li>`,
                `<a id="${i}" href="javascript:getUser1(),void(0)">`,
                    `<span class='paiming'>`, 
                        isNaN(item.img) ? `<img src="${item.img}" />`:'',
                    `</span>`,
                    `<span class='address'>${item.address}</span>`,
                `</a>`,
            `</li>`].join('')
    }).join('');
    PHP中文网

    额.....这个问题 明显就是字符串拼接“”+num+“”这样

    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号