我有一个带有特殊字符的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中运行良好。
有人可以告诉我如何处理这些特殊字符......
提前致谢
答案 0 :(得分:1)
我不完全确定你要做什么,但你可能会考虑做一些便宜的事情,比如编写id的URL编码。然后你可以使用$('#' + escape(theID))
来获取JQuery。之后,您可以使用$('#' + escape(theID)).addClass("sel")
为了进一步说明,你要写出你的HTML,其ID ID编码如下:(大多数服务器技术可以通过简单的方法调用来实现)
<div id="someCompany%3D%26%23034%3Bsome's+Data%26%23034%3B">Content here.</div>
然后你的javascript会是这样的:
$('#' + escape("someCompany="some's Data"")).addClass("sel")
答案 1 :(得分:0)
为什么不尝试:
$(abc).addClass("sel");
如果您有li的ID,为什么使用选择器?