javascript - 末尾的逗号怎么删除。。。
为情所困
为情所困 2017-06-14 10:52:00
0
3
767

$('.mask').on("click", '.skill-data-box_val p', function () {
    var res = $('.skillValue').text();
    var res1 = $(this).text()+",";
    if(res.indexOf(res1)>-1){
        $.alert("已选择");
    }else {
        res +=res1;
        var newStr = res.substring(0,res.length-1);
        console.log(newStr);
        $('.skillValue').text(res);
    }
});

如果else中$('.skillValue').text(res)

前端显示末尾逗号还在(这是肯定的)

console.log(newStr)末尾逗号已经去掉


但是如果else中$('.skillValue').text(newStr)

前端显示就是这样

打印也是这样

有点不大明白求大神赐教,小弟定虚心接受;

为情所困
为情所困

全部回复(3)
phpcn_u1582

创建函数处理字符串

function write(selector, res){
    let temp = res.slice(0, -1); 
    selector.text(temp);
}

也就是这样:

具体修改

代码修改成:

$('.mask').on("click", '.skill-data-box_val p', function () {
    var res = $('.skillValue').text();
    var res1 = $(this).text()+",";
    if(res.indexOf(res1)>-1){
        $.alert("已选择");
    }else {
        res +=res1;
        //res=res.substring(0,res.length-1);
        // 这里!! 
        write($('.skillValue'), res); 
    }
});
女神的闺蜜爱上我

这样行不行:

var res = $('.skillValue').text(),
    dot = res == "" ? : ",",
    res1 = dot + $(this).text();

主要就是判断.skillValue里是否为空:为空的话说明加进去的结果是第一个,不需要逗号;不为空的话说明里边已经有选中的值了,这时在前头加逗号就行了。

大家讲道理

一行正则的事儿

"一行正则的事儿,".replace(/,$/,'')
//"一行正则的事儿"
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板