代码之家  ›  专栏  ›  技术社区  ›  Eric

带有id和逗号的jQuery选择器

  •  6
  • Eric  · 技术社区  · 14 年前

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

    不幸的是,当我尝试用这个id使用jQuery选择器时 $("#mtgIC1_0,2") ,它永远不起作用。

    我想这是因为“,”的原因,因为它可以在没有昏迷的情况下为页面中的任何其他ID工作。

    4 回复  |  直到 9 年前
        1
  •  13
  •   redsquare    14 年前

    ID和NAME标记必须以 字母([A-Za-z]),后面可能跟有 任何数量的字母,数字 ([0-9]),连字符(“-”),下划线 (“\”)、冒号(“:”)和句点(“.”)

    不过,如果你摆脱逗号,它应该仍然有效

    例如

    $('#mtgIC1_0\\,2')
    
        2
  •  3
  •   Nikita Rybak    14 年前

    从这里开始 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\\[\\]]"). "

        3
  •  1
  •   TNi    14 年前

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

    ID和NAME标记必须以字母([a-Za-z])开头,后面可以是任意数量的字母、数字([0-9])、连字符(“-”)、下划线(“\”)、冒号(“:”)和句点(“.”)。

        4
  •  1
  •   a7drew    14 年前

    如果已知表的坐标,可以按如下方式将单元格作为目标:

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