0

申し訳ありませんが、投稿する前に答えを探しました。しかし、探しているものが見つかりませんでした。

jQuery UI の tag-it ウィジェットを使用しようとしています。.tagit()次のように、メソッドを要素に適用しようとしています。

jQuery("#myTags:.5aedf589").tagit();

tagit()メソッドを適用しようとしているページ上の実際の要素は次のとおりです。

<ul id="myTags:.5aedf589">

それは正当なID名である必要がありますが、念のため、justでも試してみました"#myTags"が、同じ問題が発生しました。

私のスクリプトには Prototype と jQuery の両方が含まれているため、$ エイリアスの代わりに jQuery を使用しています。$jQuery が最初に読み込まれ、ドキュメントからは、使用しなくてもjQuery を使用できるはずであると書かれていますnoConflict()。noConflict も使用してみましたが、役に立ちませんでした。

問題は、上記の jQuery 式によって次の JavaScript エラーが発生することです。

Syntax error, unrecognized expression: "#myTags:.5aedf589"
4

3 に答える 3

2

:クエリで特別な意味を.持ちます。ピリオドはクラス セレクターで、コロンは疑似セレクターです。他の目的で使用する場合は\、 でエスケープ\し、JS 文字列の場合は をエスケープする必要があります。したがって、\\それらの前に挿入します。http://docs.jquery.com/Frequently_Asked_Questions#How_do_I_select_an_element_by_an_ID_that_has_characters_used_in_CSS_notation.3F

jQuery("#myTags\\:\\.5aedf589").tagit();
于 2012-09-25T04:09:24.333 に答える
0

このセレクターを試してみて、動作するかどうかを確認してください。

jQuery("[id*=5aedf589]").tagit();

5aedf589 を持つ ID を選択し、そのセレクターを選択します。これは、セレクターが実際の問題であるかどうかを確認するためのものです。

複数のセレクターが escape に一致する可能性があるという問題がある場合および: \ 付き

于 2012-09-25T04:09:16.657 に答える
0

エラーは要素の ID によるものです。はい、HTML要素の有効なIDですが、クラスベースのセレクター「:」を使用するjqueryの場合、疑似セレクターと「。」を参照してください。認識されない式エラーをスローするクラスを参照してください。疑似セレクターの場合、疑似セレクターの前にクラスを使用しません

@Juan Mendesが言ったように、あなたはそれをエスケープします。または要素のIDを変更してください。

于 2012-09-25T06:00:08.077 に答える