1

こんにちは、ボークスです。

ここに、ajax応答に置き換えたいコードブロックがあります:

<div class="results">
  <span id="like9">
    <a class="like" rel="ajax.php?id=9" href="#">klick</a>
  </span>
</div>

これは私がajaxリンクを観察する方法です:

$(document).ready(function()
{
  $('.results .like').click(function()
  {
     params = getUrlVars($(this).attr('rel'));
     $.get($(this).attr('rel'), function(data)
     {
       $('#like'+params['id']).html(data); 
     });

     return false;
  });
});

リンクをクリックすると、すべてが正常に機能し、コード ブロックが期待どおりに置き換えられます。リンク名以外はすべて同じです。

しかし、リンクをもう一度クリックすると、セレクターが機能しなくなります。古いa.likeが入れ替わったからだと思います。

私の質問は、新しい DOM ノードがあることを jquery または DOM にどのように伝えることができるかということです。

私は助けを望んでいます。ありがとう。

4

2 に答える 2

2

jQuery.live() を使用してみることができます

$(selector).live("click", function() {});
于 2010-06-18T20:05:47.290 に答える
1

$('.clickme').click()which is one-timeを使用する代わりに、基本的に変更を監視し、DOM 変更全体のバインドを維持する をbind()試してください。$('.clickme').live('click', function() { ... });

詳しくはこちらをご覧ください。

于 2010-06-18T20:06:33.177 に答える