jQuery: проблема селектора вставки dom после .get - PullRequest
1 голос
/ 18 июня 2010

HI 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 ?

IНадеюсь на помощь.THX много.

Ответы [ 2 ]

2 голосов
/ 19 июня 2010

вы можете попробовать использовать jQuery.live ()

$(selector).live("click", function() {});
1 голос
/ 19 июня 2010

Вместо использования $('.clickme').click(), который является одноразовым bind(), попробуйте $('.clickme').live('click', function() { ... });, который по существу отслеживает изменения и поддерживает связь между изменениями DOM.

См. здесь для более.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...