1

我有两个 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 个。

4

3 回答 3

1

一旦你清空 div,你的“this”就不再存在了。尝试在清空之前声明 var current_div 。

var current_div = $(this).parent("div");
current_div.empty();
$.get('loadNewUser.php', function(data) {
      current_div.html(data);
});

小提琴

于 2013-07-19T08:17:49.137 回答
0

当您用新内容替换旧内容时,您需要委托该事件

$(document.body).on('click',"div.person img",function () {
于 2013-07-19T08:05:16.757 回答
0

使用 live() 函数示例

$("div.person img").live("click",function () {
//Your code goes here
});
于 2013-07-19T08:09:24.900 回答