我目前正在向我的一个项目添加标记功能,但我无法让 jQuery 的$(this)
选择器工作。
这样做的目的是在用户单击时更改div
fromflag
中的文本flagged
,并且 ajax 查询成功运行。我的 HTML/PHP 是:
<div class="flag" post_to_flag='".$post_to_flag."'>Flag</div>
我处理的javascriptdiv
是:
$('.flag').live('click', function () {
$.post('../php/core.inc.php', {
action: 'flag',
post_to_flag: $(this).attr('post_to_flag')
}, function (flag_return) {
if (flag_return == 'query_success') {
$(this).text('flagged');
} else {
alert(flag_return);
}
});
});
我不能用 替换文本flagged
,但是如果我用选择器替换this
选择.flag
器,它将用页面上的标志类替换所有内容。
我已经检查过了,$(this)
选择器获得了 'post_to_flag' 的属性就好了。为什么会发生这种情况,我该如何解决?