1

2 つの div があり、1 つをクリックすると div が空になります。空になったら、その div にデータをロードできるようにしたいと考えています。私はそれを持っているので、両方にロードされますが、空になった div にのみデータをロードしたいです。

HTML(私はこれらのうちの2つを持っています)

<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 を選択した場合、またはアラートを使用してデータが存在するかどうかを確認すると、データは問題ないように見えますが、現在の 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

live() 関数の使用例

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

古いコンテンツを新しいコンテンツに置き換えるため、イベントを委任する必要があります

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