代码之家  ›  专栏  ›  技术社区  ›  ownking

jquery:dom在.get之后插入选择器问题

  •  1
  • ownking  · 技术社区  · 15 年前

    嗨,Volks,

    下面是我的代码块,我想用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被替换了。

    我的问题是, 如何告诉jquery或dom有一个新的dom节点 ?

    我希望得到帮助。谢谢。

    2 回复  |  直到 15 年前
        1
  •  2
  •   John Hartsock    15 年前

    您可以尝试使用jquery.live()。

    $(selector).live("click", function() {});
    
        2
  •  1
  •   Nick    15 年前

    而不是使用 $('.clickme').click() 这是一次性的 bind() 尝试 $('.clickme').live('click', function() { ... }); 它基本上监视更改并维护DOM更改之间的绑定。

    here 更多。