Javascript jquery问题?
我有这个jquery问题,我已经有好几天了,我对这个问题太陌生了,所以请原谅我在这个问题上的沉默。谢谢:)) html代码:Javascript jquery问题?,javascript,jquery,html,image,fadein,Javascript,Jquery,Html,Image,Fadein,我有这个jquery问题,我已经有好几天了,我对这个问题太陌生了,所以请原谅我在这个问题上的沉默。谢谢:)) html代码: <ul class="statuses"> <li id="set_23" class="message"> // this is meant to increase everytime you click the vote_up just like stackoverflow <span class="vote_count">
<ul class="statuses">
<li id="set_23" class="message">
// this is meant to increase everytime you click the vote_up just like stackoverflow
<span class="vote_count">27</span>
<a href="#" class="vote_up"><img src="img/uparrow.png" /></a>
<a href="#" class="vote_down"><img src="img/downarrow.png" /></a>
</li>
</ul>
-
//就像stackoverflow一样,每次点击投票都会增加
27
这是我的jquery代码:
$(document).ready(function() {
$('#statuses').delegate('.vote_up', 'click', function() {
//get the id
var the_id = $(this).closest('.message').attr('id').split('_').pop();
//the main ajax request
$.ajax({
type: "POST",
data: "action=vote_up&id=" + the_id,
url: "ajax/votes.php",
success: function (msg) {
// fade in the new vote_count
$(this).siblings("span.vote_count").html(msg).fadeIn();
// get the child <img> and set its src
$(this).children("img").attr("src", "img/uparrowActive.png");
}
});
});
});
$(文档).ready(函数(){
$('#status')。委托('.vote_up','click',function(){
//拿到身份证
var the_id=$(this).closest('.message').attr('id').split('.pop();
//主要的ajax请求
$.ajax({
类型:“POST”,
数据:“action=vote_up&id=“+投票编号,
url:“ajax/voces.php”,
成功:功能(msg){
//在新的计票中淡出
$(this).sides(“span.vote_count”).html(msg.fadeIn();
//抓住孩子
编辑:jquery fade.in和change of image src也不起作用,我是否引用了正确的范围或类(ajax请求正在工作)更改此选项
var the_id = $(this).closest('.message').attr('id').split('_').pop();
对此
var the_id = $(this).parents('.message').attr('id').replace('set_', '');
或者
var the_id = $(this).parent().attr('id').replace('set_', '');
如果您知道链接的父元素总是ul.message
首先要跳出:
<ul class="statuses">
…jQuery中的#符号是id选择器(与CSS相同)。由于您的
设置为class=“statuses”
,因此您需要使用类选择器:
$('.statuses')
这将从jQuery文档中断开所有jQuery:
beforeSend、error、dataFilter、,
成功和完整的选项都需要
在调用时调用的回调函数
适当的时间。此对象的
因为所有这些都将成为未来的目标
传递给$.ajax的上下文属性
在设置中;如果不是
指定它将是对的引用
Ajax设置本身
因此,尝试将上下文添加到您的ajax请求选项中。?很抱歉,我更新了这个问题,我忘记了我有php varibale thier。问题出在哪里?当您使用console.log(id)时会发生什么设置之后?POST调用发送的数据是什么?只需将代码放在JSFIDLE上,这样人们就可以一键看到它运行。好的,谢谢@user257493,我下次会这样做,谢谢again@getaway-虽然你的标题很差,但也没那么糟糕。但是你从来没有在你的帖子中问过问题。请确保我们这样做,我们也这样做不用猜你在问什么。这会帮助我们帮助你的。谢谢!:)哦,真不敢相信我没看到。哈哈,谢谢,计票工作正在进行,非常精彩,:),但成功函数不是执行淡入和图像更改!!+upvote from me thhanks STWnp;通常是这样简单的事情,或者如果页面上只有一个状态(我猜是这样),最好保留#status
,并将元素更改为
。这将是一个更快的查找。同样,只有当页面上只有一个时,这才是唯一的。谢谢大家,现在一切都正常了,但为什么当我点击页面按钮上的投票按钮时,它会将我带到页面顶部?为什么要更改?.parents()如果存在嵌套的.message
元素,则可以返回多个结果,而.closest()
将保证只有.message
的第一个祖先。而且.split(“'').pop()
。个人偏好尽可能明确。.closest()
引入了歧义,如果标记被更改,可能会导致不良结果(而显式要求JS注意元素层次结构)。另外:将函数调用保持在最低限度,尤其是在链接时,这从来都不是一个坏主意。好的,个人偏好。我只是不知道你的答案与问题代码中的问题有何关联。
$('.statuses')