我有两个div,当点击一个时,它会清空div。我希望能够在清空后将数据加载到该div中。我已经得到它,所以它加载两者,但我只想将数据加载到已被清空的div中。
HTML(我有两个)
<div class="fl person">
<div class="maintain_size">
<input type="hidden" name="userSaved" value="<?php echo $user_one['id']; ?>" />
<img src="<?php echo "http://graph.facebook.com/".$user_one['id']."/picture?type=large"; ?>" class="circle-mask" />
<img class="hoverimage" src="images/fire_extinguisher.png" />
<div class="meta_data">
<h2><?php echo $user_one['name']; ?></h2>
</div>
</div>
</div>
的Javascript
<script>
$("div.person img").click(function () {
$(this).parent("div").fadeOut(1000, function () {
var saved_id_user_who_voted_val = "<?php echo $_SESSION['id']; ?>";
var saved_id_user_voted_on_val = $(this).parent('div').find('input:hidden');
var saved_id_user_voted_on_val = saved_id_user_voted_on_val.val();
$(this).parent("div").empty();
// Load in new data
var current_div = $(this).parent("div");
$.get('loadNewUser.php', function(data) {
current_div.html(data);
});
});
});
</script>
如果我选择一个不是当前的div,或者我只是使用一个警报来查看数据是否存在 - 数据似乎很好 - 但是如果我尝试将数据加载到当前div它只是不起作用。有任何想法吗?感谢。
我认为错误的代码:
$.get('loadNewUser.php', function(data) {
current_div.html(data);
});
编辑:我试图获取数据的div是:div.person - 尽管有2个。
答案 0 :(得分:1)
一旦你清空div,你的'this'就不再存在了。在空闲之前尝试声明var current_div。
var current_div = $(this).parent("div");
current_div.empty();
$.get('loadNewUser.php', function(data) {
current_div.html(data);
});
请参阅fiddle
答案 1 :(得分:0)
您需要在使用新内容替换旧内容时委派活动
$(document.body).on('click',"div.person img",function () {
答案 2 :(得分:0)
使用live()函数 实施例
$("div.person img").live("click",function () {
//Your code goes here
});