Javascript 用于单个div的jquery函数
我认为这可以通过Javascript 用于单个div的jquery函数,javascript,jquery,function,vote,Javascript,Jquery,Function,Vote,我认为这可以通过.prev()函数实现,但由于某些原因,它不起作用 我正在为博客上的帖子创建竖起/向下按钮。我试图根据用户的投票显示消息。无论是向上还是向下,只要我投票给一个特定的帖子,所有帖子都会显示消息 这是我的密码。我删除了prev()以使其更具可读性。该脚本在ajax方面运行良好 $(document).ready(function() { $(".vote_button").click(function(e) { //the UP or DOWN vote button
.prev()
函数实现,但由于某些原因,它不起作用
我正在为博客上的帖子创建竖起/向下按钮。我试图根据用户的投票显示消息。无论是向上还是向下,只要我投票给一个特定的帖子,所有帖子都会显示消息
这是我的密码。我删除了prev()以使其更具可读性。该脚本在ajax方面运行良好
$(document).ready(function() {
$(".vote_button").click(function(e) { //the UP or DOWN vote button
var vote_status = $(this).attr('class').split(' ')[1]; //gets second class name following vote_button
var vote_post_id = $(this).attr("id"); //the post ID
var dataString = 'post_id=' + vote_post_id + '&vote_status=' + vote_status;
$.ajax({
type: "POST",
url: "url/add_vote.php",
data: dataString,
cache: false,
success: function(html) {
if (vote_status == 1)
{
$('.msg_box').fadeIn(200);
$('.msg_box').text('You voted UP!');
}
if (vote_status == 2)
{
$('.msg_box').fadeIn(200);
$('.msg_box').text('You voted DOWN!');
}
}
});
return false;
});
});
示例HTML
<div class="vote_button 1" id="18">UP</div>
<div class="vote_button 2" id="77">DOWN</div>
<div class="msg_box"></div>
<div class="vote_button 1" id="43">UP</div>
<div class="vote_button 2" id="15">DOWN</div>
<div class="msg_box"></div>
<div class="vote_button 1" id="11">UP</div>
<div class="vote_button 2" id="78">DOWN</div>
<div class="msg_box"></div>
UP
向下
向上的
向下
向上的
向下
编辑:提供了没有Ajax部分的JSFIDLE
您需要保存对
单击处理程序中按钮的引用(例如,var me=$(this);
),然后在AJAX处理程序中使用me.nextAll('.msg\u box:first')
编辑::
您需要保存对单击处理程序内按钮的引用(例如,var me=$(this);
),然后在AJAX处理程序内使用me.nextAll('.msg\u box:first')
编辑::
您不应该将类
或id
属性设置为一个数字。他们不应该以数字开头,这是很好的信息。我会解决这个问题。你不应该把class
或id
属性仅仅作为一个数字。他们不应该以数字开头,这是很好的信息。我会修好的。那是非常好用的沙拉!非常感谢你!我一定会记住你未来脚本的代码。我也感谢国际单项体育联合会声明的修订。额外的问题:你把变量命名为“我”有什么特别的原因吗?@Cyber:No.self
和也很常见<代码>出于(希望如此)明显的原因,此
不是一个选项。Slaks效果非常好!非常感谢你!我一定会记住你未来脚本的代码。我也感谢国际单项体育联合会声明的修订。额外的问题:你把变量命名为“我”有什么特别的原因吗?@Cyber:No.self
和也很常见<代码>出于(希望如此)明显的原因,此
不是一个选项。
var me = $(this); //The this will be different inside the AJAX callback
$.ajax({
type: "POST",
url: "url/add_vote.php",
data: dataString,
cache: false,
success: function(html) {
me.nextAll('.msg_box:first')
.text(vote_status == 1 ? 'You voted UP!' : 'You voted DOWN!')
.fadeIn(200);
}
});