jQuery为特殊字符ID添加类

问题描述

| 我有一个带有特殊字符的ID,例如
var aaa = \"someCompany="some\'s Data"\";
aaa = aaa.replace(/"/gi,\"\\\"\").replace(/'/gi,\"\\\'\").replace(/&/gi,\"\\&\");
var abc = aaa.replace(/\\\"/gi,\"\\\\\\\"\").replace(/\\:/gi,\"\\:\").replace(/\\\'/gi,\"\\\\\\\'\");
var abcId = \"li[id=\\\"\" + abc + \"\\\"]\";
$(abcId).addClass(\" sel\");
在IE中,无法为\“ abcId \\”添加\“ addClass \”,但是在firefox中可以正常工作。 谁能告诉我如何处理这些特殊字符... 提前致谢     

解决方法

我不确定您要做什么,但是您可能会考虑做一些便宜的事情,例如在编写ID时对URL进行编码。然后,您可以使用
$(\'#\' + escape(theID))
通过JQuery进行获取。之后,您可以添加带有ѭ2add的课程 为了进一步说明,您将使用如下编码的ID URL编写HTML :(大多数服务器技术都可以通过简单的方法调用来完成此操作)
<div id=\"someCompany%3D%26%23034%3Bsome\'s+Data%26%23034%3B\">Content here.</div>
然后您的JavaScript将会像这样:
$(\'#\' + escape(\"someCompany=&#034;some\'s Data&#034;\")).addClass(\"sel\")
    ,为什么不尝试:
$(abc).addClass(\"sel\");
如果您具有li的ID,为什么要使用选择器?