我有以下代码
<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;
});
答案 0 :(得分: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
。
答案 1 :(得分:4)
您可以像这样获取被点击的ID:
$('a[id*=dialog_link]').click(function(){
var id = $(this).attr('id');
console.log(id);
});
答案 2 :(得分:2)
这应该返回点击链接的编号:
$('a[id*=dialog_link]').click(function() {
var id = $(this).attr('id').replace('dialog_link-','');
alert(id);
});
我已使用.replace()
功能删除文字