Понятия не имею, почему это не работает для меня.
Я вызываю это по щелчку ссылки!
$('.pagination a').live('click', function(e) {
e.preventDefault();
var page = $(this).attr("data-ajax-link");
//get classname of container box that should be reloaded
var box = $(this).parent().parent();
ajaxLoad(box, page, false);
console.log(box); //takes some time as well! WHY?
});
А вот и эта функция, которая срабатывает.
function ajaxLoad(targetBox, loadUrl) {
console.log('start');
console.log($(targetBox));
$.ajax({
url: loadUrl,
dataType: "html",
success: function(html,status) {
console.log('end');
Странная вещь, которую я не понимаю, это то, что console.log('start')
немедленно регистрируется в моей консоли, но console.log($(targetBox));
не появляется в консоли, пока не вернется успех функции ajax!
почему это?Любая идея?
Это HTML, который вызывает функцию.
<div class="list wide">
<div class="pagination">
<span><</span>
<em>[1]</em>
<a data-ajax-link="/ajax/render/project/my?page=2" rel="next" href="/my/project/2">2</a>
<a data-ajax-link="/ajax/render/project/my?page=2" rel="next" href="/my/project/2">></a>
</div>
...
Итак, элемент, который я выбираю с parent (). Parent (), это div.list.Так что на самом деле .list должен быть зарегистрирован сразу при нажатии на ссылку.