2011-07-07 10 views
-1

ラベルを動的に作成しています。すべてが同じクラスですが、異なるIDを持っています。私はラベルをクリックするとidを取得したい。 $(.class).click機能を使用しましたが、機能しませんでした。 onclick機能を使用することはできません。$(this).attr('id')がIE 8で動作しないためです。.click関数がラベル上で動作していない

私に解決策を教えてください。

ありがとうございました。

+2

詳細情報 –

答えて

6

.clickは後で動的に作成される要素では機能しません。 したがって

$('.class').live('click', function(){ alert(this.id); }); 

)(.liveを使用更新:jQueryの1.7のよう

http://api.jquery.com/live/

、.live()メソッドは推奨されています。イベントハンドラを添付するには、.on()〜 を使用します。

.on使用して上記の例()

$('body').on('click','.class',function(){ alert(this.id); }); 
+0

まだ2年後の有用な回答です。 – Deprecated

+0

@ user1821973 liveはjQuery 1.7以降で非推奨です。代わりに.on()を使用する必要があります。 – Andy

0
$(".class").click(function(){alert(this.id)}); 
0

クリックハンドラ関数の代わりthisに渡されるイベント引数を使用して、このような何かを試してみてください。

$('label.foo').click(function(event) {console.log($(event.target).attr('id'))}); 
関連する問題