我如何访问存在于jquery函数中的html标签,请检查下面的代码,当用户单击它时,我想访问[a link]标签来执行其他任务
$.ajax({
type:"POST",
url: "WebForm1.aspx/GetProblems",
data: "{}",
datatype: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
//Function to cut a string that contain data in format : "problem-id"
for (var i = 0; i < data.d.length; i++) {
var x = data.d[i].search('-');
var problem = data.d[i].slice(0, x);
var id = data.d[i].substr(x+1, 1);
$("#div2").append("<a class='menu' href='webform1.aspx?id="+id+"'>" + problem + "</a> ");
}
},
failure: function (response) {
alert("fail");
}
});
我尝试执行以下操作,但没有任何反应。
$("a").click(function (event) {
event.preventDefault();
alert($(this).attr('href').charAt(13));
}
也可以尝试使用类名,同样的问题什么也没发生。
$(".menu").click(function (event) {
event.preventDefault();
alert($(this).attr('href').charAt(13));
}
由于您是动态生成html的,因此请尝试如下所示的事件委托:
$(document).on('click','a.menu',function(event) {
event.preventDefault();
alert($(this).attr('href').charAt(13));
});
或者
$('#div2').on('click','a.menu',function(event) {
event.preventDefault();
alert($(this).attr('href').charAt(13));
});
或者
$('#div2').on('click','a',function(event) {
event.preventDefault();
alert($(this).attr('href').charAt(13));
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句