2011-01-24 13 views
1
$('#ptadsd1:r1:0:cbN89').live('click', function(event1) { 
    alert('clicked'); 
    return false; 
}); 

IDの作成時にjdeveloperが ":"を使用するため、問題が発生しません。jquery live:問題

私のIDは例えば"ptadsd1:r1:0:cbN89"です。 Jdeveloperではidsを作成するときに ":"を使用しますが、jqueryには問題があります。どうすれば問題を ":"で解決できますか?

答えて

6

:\でエスケープする必要があります。しかし、あなたはそれをエスケープ倍増する必要がある単一の文字として\:の治療からJavaScriptを防ぐために:

$('#ptadsd1\\:r1\\:0\\:cbN89'); 

関連参照:

あなたが のいずれかを使用したい場合?@ [\]^`{|}〜)のようなメタ文字( !"#$%& '()など)は、 という名前のリテラル部分として、 文字をエスケープする必要がありますウィ2つの バックスラッシュ:\\。たとえば、 にid = "foo.bar"という要素がある場合、 セレクタ $( "#foo \\。bar")を使用できます。

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