删除附加项并添加更多元素(涉及AJAX)

时间:2012-11-09 20:53:32

标签: jquery dynamic delegates append live

单击页面上的按钮时,它会从页面中删除div,运行Ajax函数,然后使用Ajax函数中的数据创建更多同一类的div。

如果再次单击该按钮,则应删除通过Ajax函数创建的div,并通过另一个Ajax请求添加更多div。

我遇到的问题是它不能完全发挥作用。第一次单击该按钮时,它会按预期执行(删除div,并添加新的div)。当第二次单击该按钮时,不会删除任何div(附加的div),并添加更多div。

有没有办法让这些附加的div被删除?我不确定这是涉及实时,委托还是功能,但我在网上看到的所有示例都使用两个单独的按钮,一个用于触发创建div的事件,而另一个按钮则删除它们。我想使用相同的按钮

发生所有这些事件

HTML的示例Div(对不起,我没有发布完整的html,我正在使用Erlang的框架和模板遍布的原始代码,这是示例输出:

<div id="tweet-container">
<div class="tweets"  style="width:940px">
<img style="float:left; width: 60px; padding-right: 9px" src=http://a0.twimg.com/profile_images/2454954651/Snapshot_20120528_normal.jpg> <p     style="float:right">Fri, 09 Nov 2012 20:29:05 +0000</p>
<td><a href="http://twitter.com/PndWallace"><b>Pat Wallace</b></a> @PndWallace</td>
<td><p>RT @NASANPP: RT @pndwallace: @NASA @NASANPP looks like we in Ireland are living in phtytoplankton Central....makes me feel better lol </p></td>

</div>

<div class="tweets" style="width:940px">
<img style="float:left; width: 60px; padding-right: 9px" src=http://a0.twimg.com/profile_images/280761746/calvin-and-hobbes_normal.jpg> <p style="float:right">Fri, 09 Nov 2012 20:29:38 +0000</p>
<td><a href="http://twitter.com/rentagoodbook"><b>Lise</b></a> @rentagoodbook</td>
<td><p>RT @NASA: [Image of the Day] Happy Little Crater on Mercury http://t.co/CQbuLPNi #iotd </p></td>

</div>
</div>

脚本:

function removeTweets(){

$('div').remove('#tweets');


}


function ajaxCheck(){

$('a.Tpage').click(function(evt){

$currentPage = $('#pageNo').text();
$totalPages = $('#totalPages').text();
$searchWord = $('#searchWord').text();
$selection = $(this).attr('title');

$.ajax({
url: "/search/get_tweet_page/" + $currentPage + "/" + $totalPages + "/" + $searchWord +
"/" + $selection,
dataType: "json",

}).done(function(data){
removeTweets();
var list = data.tweet;
for (var i = 0; i < list.length; i++){

$('#errors').append('<div class="tweets" style="width:940px">' +
             '<img style="float:left; width: 60px; padding-right: 9px" src="' + list[i].profileimage_url + '">' +
             '<p style="float:right">' + list[i].created_at + '</p>' +
             '<td><a href="http:///twitter.com/' + list[i].from_user + '"><b>' + list[i].fromuser_name + '</b></a>' + list[i].from_user + '</td>' +
             '<td><p>' + list[i].text + '</p></td>' +
             '</div>');

} // end for
}); // end done
evt.preventDefault();

}) //end click 

1 个答案:

答案 0 :(得分:1)

removeTweets()函数中,使用类选择器.tweets而不是id选择器#tweets