1

私はjQueryの初心者ですが、それを学ぼうとしています。id = "userForm:id"で入力を受け取ったとしましょう。javascriptでは、次の方法でIDを簡単に取得できます。

var id = document.getElementById("userForm:id");

jQueryで私は試します:

var id = $('#userForm:id');

しかし、エラーが発生します:

Uncaught Error: Syntax error, unrecognized expression: unsupported
pseudo: id
4

4 に答える 4

7

jQuery はこの問題をすでに考えており、 jQuery docsに詳述されているように、またjQuery FAQに詳細が記載されているように、回避する必要があるだけです。

var id = $('#userForm\\:id');

同じことは、有効な ID 文字であるが特別な CSS の意味を持つピリオドやその他の文字にも当てはまります。

一般的なスタイルの問題として、個人的には、HTML id プロパティで特殊文字 (英数字、アンダースコア、スラッシュ以外のもの) を使用しないことをお勧めしますが、使用できない技術的な理由はありません。

于 2012-11-07T15:06:43.993 に答える
3

試す

var id = $('#userForm\\:id');

デモ

于 2012-11-07T15:07:00.360 に答える
2

も使用できます:

$("form[id$='userForm:id']") 

アイテムがオフコースのフォームの場合... そうでない場合は、角括弧の前のフォームを変更する必要があります。
このコードは、ページ内のフォームの各 ID を調べて、それが終了しているかどうかを確認します userForm:id
を参照してください: http://api.jquery.com/attribute-ends-with-selector/

次のコードはテストしていませんが、うまくいくはずです。

$("form[id='userForm:id']")

これは、id userForm:id を持つフォームのみを選択する必要があります

于 2012-11-07T15:12:41.960 に答える
2

http://api.jquery.com/category/selectors/によると

"2 つのバックスラッシュで文字をエスケープする必要があります: \\"

var id = $('#userForm\\:id');

于 2012-11-07T15:07:33.027 に答える