【发布时间】:2012-04-07 07:26:32
【问题描述】:
当单击 ID 设置为 href 的锚标记时,我正在执行 ajax 请求。顺便说一句,这个锚标记是动态创建的。
<a href="983" class="commentDeleteLink">delete</a>
当点击锚标记时,会执行以下代码:
$('.commentDeleteLink').live('click', function(event) {
event.preventDefault();
var result = confirm('Proceed?');
if ( result ) {
$.ajax({
url: window.config.AJAX_REQUEST,
type: "POST",
data: { action : 'DELCOMMENT',
comment : $('#commentText').val(),
comment_id : $(this).attr('href') },
success: function(result) {
alert($(this).attr('href'));
//$(this).fadeOut(slow);
}
});
}
});
当我尝试显示 $(this).attr('href') 时,它说它是“未定义的”。我真正想做的是淡出锚标记,但是当我调查 $(this) 的值时,它是“未定义的”。
上面的 sn-p 有什么问题?
【问题讨论】:
-
this在成功处理程序中是处理成功的函数,而不是您单击以触发 ajax 请求的原始 html 元素。函数没有“href”属性。
标签: jquery ajax this undefined