jQuery升级到3.1.1后报错了 5C

之前的jQuery版本升级到3.1.1后报错

 Syntax error, unrecognized expression: #[object Text]

报错代码是

 $(function(){
    var roleFunCode='${roleFunction}';
    if(roleFunCode.length>0){
        var str2=roleFunCode.split(',');
        for(i=0;i<str2.length;i++)
        {  
            $("#"+str2[i]).remove();
        }
    }
});

求大神指点迷津 很坑的啊

8个回答

debug慢慢查找问题看能不能找出来吧

weixin_42384745
weixin_42384745 慢慢查找API看问题
一年多之前 回复
hzj13689910
hzj13689910 好好想想
一年多之前 回复
tianguozhiya
去你大爷的昵称已存在 debug也没看出来是什么 百度只说是版本不支持这种写法
一年多之前 回复

慢慢查找API看问题,3.1.1版本的js与之前的写法有很多不一样的地方

tianguozhiya
去你大爷的昵称已存在 对 这得一个个找 烦死了 又得测试一遍
一年多之前 回复

jQuery 选择器中不能带有除“_”以外的特殊符号,你出错的原因应该是

$("#"+str2[i]).remove(); 中的str2[i]的值含有"["
和“]”

是不是升级过程中出了什么错误,再升级一次试试

既然升级了 js写法 会有差异的 推荐去看api

把选择器字符先拼出来,不要在()里写
var selector = "#" + str2[i]
$(selector).remove()

推荐看一下官网api

你debug一下,先打印一下$符看有没有报错,再打印一下那个方法,精准定位一下是哪个api出错了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问