0

私は次のマークアップを持っています

<a href='#' id="remove_user_from_group" data-user-id="a9a4ae36-c6cd-11e1-9565-910084adb773" data-group-id="e4d66f80-d046-11e1-89b6-16f96811a1bd">x</a>

user-idそして、とからデータを取得したいと思いますgroup-id

今のところ、私は試しました:

$this = $(this);
$("#remove_user_from_group").live('click', function() {
    var userid = $this.data('user-id');
    var groupid = $this.data('group-id');
    alert(userid);
    alert(groupid);
});

値を含む2つのアラートが表示されundefinedます。

ここで何が欠けていますか?

4

2 に答える 2

4

$this = $(this);クリック機能の中に入れてください。または、関数を次のように変更します。

$("#remove_user_from_group").live('click', function() {
    var userid = $(this).data('user-id');
    var groupid = $(this).data('group-id');
    alert(userid);
    alert(groupid);
});

jsFiddleの例1jsFiddleの例2

また、余談live()ですが、を支持して非推奨になりましたon()

于 2012-07-17T20:52:05.400 に答える
1

3行目と4行目$(this)ではなく、変更して、関数内のオブジェクトをJqueryオブジェクトに変換する必要があります。$this

于 2012-07-17T20:49:30.767 に答える