搜索

首页  >  问答  >  正文

javascript - 末尾的逗号怎么删除。。。

$('.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)

前端显示就是这样

打印也是这样

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

为情所困为情所困2721 天前770

全部回复(3)我来回复

  • phpcn_u1582

    phpcn_u15822017-06-14 10:54:00

    创建函数处理字符串

    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); 
        }
    });

    回复
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-14 10:54:00

    这样行不行:

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

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

    回复
    0
  • 大家讲道理

    大家讲道理2017-06-14 10:54:00

    一行正则的事儿

    "一行正则的事儿,".replace(/,$/,'')
    //"一行正则的事儿"

    回复
    0
  • 取消回复