When do I need to escape metacharectars? (jQuery Selectors)

前端 未结 2 1900
闹比i
闹比i 2020-12-20 21:36

According to the jQuery docs, I need to escape metacharacters that occur in my selector strings, when they occur as a literal. However, I couldn\'t find very many specific e

2条回答
  •  清歌不尽
    2020-12-20 22:02

    From the jQuery docs:

    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 ...

    All of these must be escaped:

    1. id
    2. class name
    3. attribute name
    4. attribute value
    5. element name

    The first four are obvious, and here's an example for the fifth. Element names in XML can contain a "." character for instance and still be valid.

    John Doe
    

    If you had to select all elements of user.name, then that . must be escaped

    $(xml).find("user\\.name");
    

提交回复
热议问题