呼び出しようとしている html ID があります。このような特定の名前のビルドがありますname_|_anyting
が、Jquery のセレクターを使用して要素を取得しようとすると、エラーが発生します
$("#name_|_anyting")
エラー: 構文エラー、認識できない式: |_anyting
私の質問は次のとおりです。パイプ文字はjqueryセレクターのIDとして許可されていませんか?
呼び出しようとしている html ID があります。このような特定の名前のビルドがありますname_|_anyting
が、Jquery のセレクターを使用して要素を取得しようとすると、エラーが発生します
$("#name_|_anyting")
エラー: 構文エラー、認識できない式: |_anyting
私の質問は次のとおりです。パイプ文字はjqueryセレクターのIDとして許可されていませんか?
|
はセレクター構文の特殊文字です。つまり、ID セレクターで直接使用することはできません。セレクターに対応するためにマークアップの ID を変更できない場合は、とにかくセレクターをエスケープして、jQuery をだまして要素を選択させる必要があります。
$("#name_\\|_anything")
パイプ文字「|」二重の円記号を使用してエスケープする必要があります。
セレクター
CSS 1–3から借用し、独自のツールを追加するjQueryは、ドキュメント内の要素のセットを照合するための強力なツールのセットを提供します。
メタ文字(! "#$%&'()* +、。/ :; <=>?@ [] ^` { | }〜****など)を名前のリテラル部分では、2つの円記号を使用して文字をエスケープする必要があります:\\。たとえば、id = "foo.bar"の要素がある場合は、セレクター$( "#foo\\。bar"を使用できます。 )。W3C CSS仕様には、有効なCSSセレクターに関するルールの完全なセットが含まれています。また、識別子のCSS文字エスケープシーケンスに関するMathiasBynensによるブログエントリも役立ちます。