之前的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出错了