jQuery升级到3.1.1后报错了

之前的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();
        }
    }
});

求大神指点迷津 很坑的啊

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

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

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

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

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

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

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

推荐看一下官网api

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