我目前爲我的項目添加了標記功能,並且我無法讓jQuery的$(this)
選擇器工作。
這樣做的目標是在用戶單擊它時,將div
中的文本從flag
更改爲flagged
,並且ajax查詢成功運行。我的HTML/PHP是:
<div class="flag" post_to_flag='".$post_to_flag."'>Flag</div>
而且我的javascript,隨着div
交易是:
$('.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
替換文本,但如果我用.flag
更換this
選擇選擇器,它將用頁面上的標誌類替換所有的東西。
我檢查過了,$(this)
選擇器正在獲取'post_to_flag'的屬性。爲什麼會發生這種情況,我該如何解決?
我也建議使用前綴'$'例如變量'$ context'或'$ this'來表示該值是一個jQuery對象 – Moak 2013-05-10 03:49:12
@Moak,是的!你絕對可以這樣做,這將有助於澄清它是一個jQuery對象。我會改變它。 – SomeShinyObject 2013-05-10 03:49:57