我试图增加一个<span>
的html值,当一个按钮被点击,但jQuery的说,<span>
的值是未定义的,即使有一个身体的数字显示在页面上。下面是生成HTML PHP部分:是应该魔法了HTMLjQuery的 - <span>的html返回'undefined'
echo '<div class="box" style="background-color:'.$colours[0].'">
<p>'.$confessions[0].'<br></p><br>
<div class="overlay"></div>
<div class="slide">
<div class="slideleft">#'.$ids[0].'</div>
<div class="slideright">
<span class="upvote" id="'.$ids[0].'">Upvote</span>
<span class="counter" id="'.$ids[0].'">"'.$counter[0].'"</span>
</div>
</div>
</div>'
,这里是jQuery的:
$("body").on("click", ".upvote", function(e) {
$.ajax({
url: 'vote.php',
data: {
type: 'up',
id: $(this).attr('id')
},
type: 'post',
success: function(data) {
if (data == 'ok') {
alert($(this).next().html());
} else {};
}
});
});
它确实让警报按下upvote
按钮时,但它的值是undefined
而不是实际的数字。任何人都可以解释一下这个问题吗?
感谢
它的工作原理,谢谢! – Taimur
您可以使用ajax对象内的上下文选项。 {url:...,context:this} – Trevor
将'jQuery'对象加上'$'前缀也是一个好习惯。所以'$ clicked' – Trevor