No.89


【jQuery】セレクタで使える記号

jQueryのセレクタに記号を使いたい

 フレームワークを使っているとHTMLの要素のIDに[ ]等の記号が使われてしまうことがよくある。

 HTMLを眺めたりするわけではないのでそれ自体は問題ないのだけど、Javascriptから操作する場合などに記号が入っているとややこしいことになる。

 よく使うjQueryでセレクタに使える記号とその記述方法をメモしておく。


jQueryでセレクタに使用可能な記号

Selectors | jQuery API Documentation

 jQueryでセレクタに使用可能な記号は

!"#$%&'()*+,./:;<=>?@[\]^`{|}~

 となる。

 これらの記号を使用する際にはエスケープする必要がある。注意が必要なのは\ではなく\\とエスケープを2回重ねる必要があることだ。困難で時間をロスしてもしょうがないのでご注意を。(自戒をこめて)

 それに加えW3Cの定義で

6.2 SGML basic types

ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").

 とあるので-_も使用可能だ。これらはエスケープの必要は無い。