给出一个dom元素:
<li id="foo+bar"></li>
我想解决那个元素(如果可能的话,使用jQuery)并尝试:
$("#foo+bar")
我也试过逃避它:
$("#foo\+bar")
..但似乎都没有用,因为(我猜)jQuery似乎无法处理加号。不幸的是,我真的没有更改id值的选项,所以:
有没有办法让jQuery获得正确的dom,或者我怎么能解决这个问题?
答案 0 :(得分:10)
尝试用两个反斜杠转义它。
$("#foo\\+bar")
答案 1 :(得分:6)
嗯,问题可能是+
不应该存在。
ID和NAME令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0-9]),连字符(“ - ”),下划线(“ _“),冒号(”:“)和句号(”。“)。
因此,任何解决方法仍然基于错误的启动,因此可能随时停止工作。你真的应该改变那个id。
答案 2 :(得分:1)
我不相信+是id中的有效字符。
ID和NAME令牌必须以a开头 信([A-Za-z]),可以遵循 任意数量的字母,数字 ([0-9]),连字符(“ - ”),下划线 (“_”),冒号(“:”)和句号 ( “”)。