У меня есть следующий блок:
$('.new_comment').live('ajax:success', function(evt, data, status, xhr){
$('.comments article:last').after(xhr.responseText).effect("highlight", {}, 3000);
})
Поэтому, когда форма new_comment
отправлена, она вызывает это.
Функция after()
работает нормально, но вызов effect()
выдает эту ошибку:
TypeError: 'undefined' is not a function (evaluating '$('.comments article:last').after(xhr.responseText).effect("highlight", {}, 3000)')
Я использую jQuery 1.7.1 и jQuery UI 1.8.16.
ОБНОВЛЕНИЕ: xhr.responseText
возвращает вновь созданный элемент article
, например:
<article id="2">
<h6><a href="#">Joe</a> <span>(<a href="#2">less than a minute ago</a>)</span></h6>
<p>This is the new comment!</p>
</article>
После добавления .comments
DOM выглядит так:
<section class="comments">
<h3>Comments</h3>
<article id="1">
<h6><a href="#">Joe</a> <span>(<a href="#1">less than a minute ago</a>)</span></h6>
<p>This is a comment!</p>
</article>
<article id="2">
<h6><a href="#">Joe</a> <span>(<a href="#2">less than a minute ago</a>)</span></h6>
<p>This is the new comment!</p>
</article>
</section>
Кроме того, если я запускаю console.log($('.comments article:last'));
, он определенно возвращает созданный объект.