我对 jQuery 的$(this)
对象有疑问,让我错过了this
代码中的元素:
$('.star').click(function (){
var id = $(this).parent().attr('id').split('rating')[1];
var vote = $(this).index() + 1;
var ThisStar = $(this);
alert(ThisStar.parent().html())
$.ajax({
type: 'POST',
url: EXECUTION_URL + 'ajax/rate.php',
data: {'article' :id ,'rate': vote},
success:function(data,tt,ff){
alert(ThisStar.parent().html())
}
});
第一次警报触发:被点击节点的父节点的真实内容第二次警报触发:null !!!为什么改成ajax了?还是出于其他原因?请告诉我一个解决这个问题的好方法
好的,实际上我检查了我的代码,在 ajax 函数之后有两行删除了this
对象中的存储节点,并且由于 ajax 函数是异步函数,所以在成功函数内的代码之前执行的两行 >> 谢谢大家