带有id和逗号的jQuery选择器

时间:2010-07-08 23:46:49

标签: javascript jquery

我正在使用MyTableGrid在我的网页中显示类似Excel的控件。

对于表1,第0列,第2行,使用类似“mtgIC1_0,2”的ID引用单元格。

不幸的是,当我尝试使用带有此标识$("#mtgIC1_0,2")的jQuery选择器时,它永远不会有效。

我认为这是因为“,”因为它适用于没有昏迷的页面中的任何其他ID。

4 个答案:

答案 0 :(得分:13)

  

ID和NAME令牌必须以a开头   信([A-Za-z]),可以遵循   任意数量的字母,数字   ([0-9]),连字符(“ - ”),下划线   (“_”),冒号(“:”)和句号(“。”)

但是,如果你逃避逗号它应该仍然有效

e.g

$('#mtgIC1_0\\,2')

答案 1 :(得分:3)

从这里http://api.jquery.com/category/selectors/

If you wish to use any of the meta-characters (#;&,.+*~':"!^$[]()=>|/ ) as a literal part of a name, you must escape the character with two backslashes: \\. For example, if you have an an input with name="names[]", you can use the selector $("input[name=names\\[\\]]").

答案 2 :(得分:1)

我不知道这是否是原因,但根据here,ID名称不应包含逗号。相关的句子是:

  

ID和NAME令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0-9]),连字符(“ - ”),下划线(“ _“),冒号(”:“)和句号(”。“)。

答案 3 :(得分:1)

如果你已知表的坐标,你可以像这样定位单元格:

$('#myTable tr:nth-child(2) td:nth-child(2)').css('background-color', '#F00');