Php 这个jquery删除函数?
我对这个jquery有一个问题,在success函数调用中,它意味着删除“support”按钮,并在消息中淡出,这是我的jquery代码:Php 这个jquery删除函数?,php,jquery,html,fadein,Php,Jquery,Html,Fadein,我对这个jquery有一个问题,在success函数调用中,它意味着删除“support”按钮,并在消息中淡出,这是我的jquery代码: $('.stats').delegate('.against', 'click', function(e) { //stop event e.preventDefault(); // cache a reference to the previous <li> element // si
$('.stats').delegate('.against', 'click', function(e) {
//stop event
e.preventDefault();
// cache a reference to the previous <li> element
// since it is used more than once
var $prevLi = $(this).closest('li').prev('li');
//get the id
var the_id = $prevLi.attr('id').split('_').pop();
//the main ajax request
$.ajax({
context:this,
type: "POST",
data: "action=against&id=" + the_id,
url: "ajax/sa.php",
success: function (msg) {
$prevLi.find("h2.score_down").html(msg).fadeIn();
$(this).closest('li').next().next().find('button').remove(); $(this).remove();
}
});
});
$('.stats').delegate('.from','click',函数(e){
//停止事件
e、 预防默认值();
//缓存对上一个元素的引用
//因为它被多次使用
var$prevLi=$(this.nexist('li').prev('li');
//拿到身份证
var the_id=$prevLi.attr('id').split('uu').pop();
//主要的ajax请求
$.ajax({
背景:这,,
类型:“POST”,
数据:“行动=反对&id=“+行动id,
url:“ajax/sa.php”,
成功:功能(msg){
$prevLi.find(“h2.score_down”).html(msg.fadeIn();
$(this).closest('li').next().next().find('button').remove();$(this.remove();
}
});
});
html:
<ul class="stats">
<li id="topic_20" class="score">
<h2 class="score_up" style="color:green;">10</h2>
<span style="text-align:center;">Supporters</span>
</li>
<li>
<button type="submit" value="Actions" class="support" title="support">
<i></i>
<span>Support</span>
</button>
</li>
<li id="down_20"class="score"><h2 class="score_down">20</h2><span style="text-align:center;">Against</span>
</li>
<li>
<button type="submit" value="Actions" class="against" title="against">
<i></i><span>Against</span></button>
</li>
</ul>
<h3 class="success"></h3>
-
10
支持者
-
支持
- 20
-
反对
此jquery旨在删除单击时的支持按钮,新分数将淡入!:)谢谢按钮位于
前面的
2中。针对包含一个按钮的,因此您的呼叫应该如下所示:
$(this).closest('li').prev().prev().find('button').remove();
为什么不使用$(“按钮[type=submit]”)呢?或者仅仅是美元(“按钮”)?如果使用double prev(),则必须在标记更改时调整代码。如果你经常这样做,那以后做更改就成了一场噩梦。为你的成功干杯,我可以再问你一个问题吗,在成功中,我怎样才能在成功点击
后添加一条消息,所以基本上在用户点击后,他们会收到此消息以获得反馈!!干杯:)+向上投票me@getaway-你想把
放在标记中的什么地方?@getaway-你不能把它放在那里,
不是
的有效子元素(所以一定要用
包装它)。如果
已完成,但您可以在其中进行搜索:$(this).closest('ul').find('success').html(message)
(您也可以对
使用相同的最近/查找)。很抱歉,我再次更改了代码,我本来打算在外部使用,我需要进入睡眠状态,因为您的解决方案将删除所有按钮,而不是与单击的按钮相关的按钮,如果页面上有40个这样的按钮呢?:)@nick那么你认为最好还是改变一下,或者把它放在一边,如果他有40个这样的按钮,并且他使用的是prev()。prev(),那么他的代码/标记很糟糕。