Javascript 语法错误,无法识别的表达式:属性名称中有引号
我的软件中包含以下代码:Javascript 语法错误,无法识别的表达式:属性名称中有引号,javascript,regex,dom,Javascript,Regex,Dom,我的软件中包含以下代码: MyText = "some\" Text" $(MyDiv).parent().siblings("[data-value=" + CorrectCharacters(MyText) + "]"); CorrectCharacters = function (text) { return text.toString().replace(/([ #;&,.+*~\':"!^$[\]()=>|\/@])/g,'\\$1') } MyTy
MyText = "some\" Text"
$(MyDiv).parent().siblings("[data-value=" + CorrectCharacters(MyText) + "]");
CorrectCharacters = function (text) {
return text.toString().replace(/([ #;&,.+*~\':"!^$[\]()=>|\/@])/g,'\\$1')
}
MyType可以包含任何文本,通常它是有效的,除非它包含“中间”。 在这种情况下,我得到以下异常:
Uncaught Error: Syntax error, unrecognized expression: data-text="some\" Text]
我尝试了其他问题的建议解决方案,如:
MyText = 'some\\" Text'
但它们对我不起作用
我如何解决这个问题?这应该更有效:
$(MyDiv).parent().siblings("[data-value=" + CorrectCharacters(MyText) + "]");
为了正确连接变量,我删除了“野生”并添加了a+。这是最终对我有效的解决方案:
if (MyText.includes('"')) {
var simbling = $(MyDiv).parent().siblings();
for (var i = 0; i < simbling.size() ; i++)
{
if (simbling[i].children[1].innerHTML == MiniCorrectCharacters(MyText)) {
$tw = simbling[i];
oItem = {
Text: simbling[i].children[1].innerHTML,
};
continue;
}
}
if ($tw.length == 0) {
return;
}
}
if(MyText.includes(“”)){
var simbling=$(MyDiv.parent().sibbins();
对于(var i=0;i
为(“[data value=“+CorrectCharacters(MyText)
添加一个+
,并删除该行上的最后一个”
。同级(“[data value=”CorrectCharacters(MyText)+”);
应该是。同级(“[data value=“+CorrectCharacters(MyText)+”])”;
。您缺少了一个+
,并且有一个'
太多了。我更正了它。但是,我面临着同样的问题。这是一个文本字段(字符串),请不要回答“打字”问题。它们显然与主题无关。