Javascript-未捕获错误:语法错误,无法识别的表达式

Javascript-未捕获错误:语法错误,无法识别的表达式,javascript,jquery,Javascript,Jquery,编辑: 我认为问题不在于连接本身,而在于我试图选择的元素id中的特殊字符 原件: 我在连接两个字符串时遇到问题。问题似乎是因为其中一个字符串包含“!”。遗憾的是,我无法控制该字符串可以包含什么。在尝试concat()之前,我尝试使用“+”将两个字符串组合成一个字符串。但错误依然存在 相关代码是$('#id_online_status'.concat(msg.id)).removeClass('text-success').addClass('text-muted') 错误是: Uncaught错

编辑: 我认为问题不在于连接本身,而在于我试图选择的元素id中的特殊字符

原件:

我在连接两个字符串时遇到问题。问题似乎是因为其中一个字符串包含“!”。遗憾的是,我无法控制该字符串可以包含什么。在尝试
concat()
之前,我尝试使用“+”将两个字符串组合成一个字符串。但错误依然存在

相关代码是
$('#id_online_status'.concat(msg.id)).removeClass('text-success').addClass('text-muted')

错误是:

Uncaught错误:语法错误,无法识别的表达式:#id_online_status_specific.YqzvRnpU!opmxquofqily

请帮忙修理这个。一般来说,我对JS不太熟悉

像这样更改代码,然后重试

删除“concat”并尝试使用(+)

像这样更改代码,然后重试

删除“concat”并尝试使用(+)


concat很好,但您正在尝试选择一个带有
的id非法字符。以下是你的一个问题:以下是你的一个问题:以下是你的一个问题:以下是你的一个问题:以下是你的一个问题:以下是你的一个问题:以下是你的一个问题:<代码>代码>(<代码>代码>美元((<代码>代码>代码>美元(“[代码>代码>美元::”<代码><<<代码>代码>(((([代码>请问请问请问请问请问请问请问请问请问::::)你的一个你的一个你的一你的一个你的一你的一个你的一个你的一个你的一你的一个问题:::::::::::)(<代码>(<代码>(<代码>(<代码>代码>代码:::::::::::)(<代码>(<代码>代码>代码>代码>代码>(<代码>代码:::::::::::::::::::))
concat很好,但是您试图选择一个带有非法字符的id。
(“#!”)
const$status=$([id='id'u online_status.'+msg.id+']”)
或者这个:这应该可以帮助您:$(''id'u online_status.'.concat(/([!”)%&'.*+)/,'.[][-]-/$g:''.[].removeClass('text-success').addClass('text-muted');您可能还可以使用以下内容:
$(“[id$=”+msg.id+“]”)
问题是Selector中的特殊字符。在我尝试concat()之前,我尝试使用“+”将两个字符串组合成一个字符串。但错误依然存在,这不是我的问题。问题是什么
id=“id\u online\u status\u 123!456”
无法使用您这样的选择器进行选择。我认为这可以解释我使用attr(“数据状态userid”,user.id)时出现的错误来完成我想用元素ID做的事情。这解决了我最初的问题。最后,我想要元素的唯一性。所以设置attr给了我这个。谢谢你们所有试图帮助我的人。我很感激。问题是selectorI中的特殊字符。在我尝试concat()之前,我曾尝试使用“+”将两个字符组成一个字符串。但错误依然存在,这不是我的问题。问题是什么
id=“id\u online\u status\u 123!456”
无法使用您这样的选择器进行选择。我认为这可以解释我使用attr(“数据状态userid”,user.id)时出现的错误来完成我想用元素ID做的事情。这解决了我最初的问题。最后,我想要元素的唯一性。所以设置attr给了我这个。谢谢你们所有试图帮助我的人。我很感激。
$('#id_online_status_'+msg.id).removeClass('text-success').addClass('text-muted');