10

呼び出しようとしている html ID があります。このような特定の名前のビルドがありますname_|_anyting が、Jquery のセレクターを使用して要素を取得しようとすると、エラーが発生します

$("#name_|_anyting")

エラー: 構文エラー、認識できない式: |_anyting

私の質問は次のとおりです。パイプ文字はjqueryセレクターのIDとして許可されていませんか?

4

3 に答える 3

14

|はセレクター構文の特殊文字です。つまり、ID セレクターで直接使用することはできません。セレクターに対応するためにマークアップの ID を変更できない場合は、とにかくセレクターをエスケープして、jQuery をだまして要素を選択させる必要があります。

$("#name_\\|_anything")
于 2012-09-06T18:32:13.427 に答える
6

パイプ文字「|」二重の円記号を使用してエスケープする必要があります。

セレクター

CSS 1–3から借用し、独自のツールを追加するjQueryは、ドキュメント内の要素のセットを照合するための強力なツールのセットを提供します。

メタ文字(! "#$%&'()* +、。/ :; <=>?@ [] ^` { | }〜****など)を名前のリテラル部分では、2つの円記号を使用して文字をエスケープする必要があります:\\。たとえば、id = "foo.bar"の要素がある場合は、セレクター$( "#foo\\。bar"を使用できます。 )。W3C CSS仕様には、有効なCSSセレクターに関するルールの完全なセットが含まれています。また、識別子のCSS文字エスケープシーケンスに関するMathiasBynensによるブログエントリも役立ちます。

http://api.jquery.com/category/selectors/

于 2012-09-07T08:20:28.770 に答える