6

我有以下代码

<td><a href="#" id="dialog_link-19" class="ui-state-default ui-corner-all">Click here</a></td>
<td><a href="#" id="dialog_link-25" class="ui-state-default ui-corner-all">Click here</a></td>
<td><a href="#" id="dialog_link-33" class="ui-state-default ui-corner-all">Click here</a></td>
<td><a href="#" id="dialog_link-556" class="ui-state-default ui-corner-all">Click here</a></td>

#dialog_link是动态生成的。

在我的 js 中,我需要知道哪个被点击了。

这是我的js

 $('#dialog').dialog({
            autoOpen: false,
            width: 600,
            buttons: {
                "Ok": function() {
                    $(this).dialog("close");
                },
                "Cancel": function() {
                    $(this).dialog("close");
                }
            }
        });

        // Dialog Link
        $('#dialog_link').click(function(){
            $('#dialog').dialog('open');
            $.ajax({
                  url: "teams/pp",
                  type: "POST",
                  data: 
                  success: function( data ){

                     console.log(data);

                    }

                });

            return false;
        });
4

3 回答 3

9

使用id^代替id*,id^用于指示id以给定文本开头,id*如果给定文本在 , 任何地方可用,则匹配id,即使最后像id1-dialog_link

$("td a[id^='dialog_link']").click(function(){ 
    var id = $(this).prop('id');
    console.log(id);
});

这里a[id^='dialog_link']会匹配dialog_link-19但不匹配id1-dialog_link

于 2012-04-30T18:07:11.143 回答
4

您可以通过以下方式获取被点击的那个的 id:

$('a[id*=dialog_link]').click(function(){
    var id = $(this).attr('id');

    console.log(id);
});
于 2012-04-30T18:06:35.457 回答
2

这应该返回单击的链接的编号:

$('a[id*=dialog_link]').click(function() {
    var id = $(this).attr('id').replace('dialog_link-','');
    alert(id);
});

演示

我已使用该.replace()功能删除文本

于 2012-04-30T18:07:45.980 回答