相对较新的 jQuery 用户(在通行证中使用它,但现在真的很想理解它)。
我正在尝试使用 ajax 创建自己的 jQuery 分页,到目前为止,我的代码如下所示:
$(document).ready(function(){
$('.pigs ul.pigspagination li a').live('click', function(e) {
e.preventDefault();
var url = $(this).attr('href');
if(url.match('^http')){
return true;
} else {
var element = $(this).closest(".pigs");
$(element).append('<div id="loading"><img alt="Loading..." src="loading.gif" /></div>');
$('#loading').fadeIn('normal');
$(element).load(url + ' ' + element);
return false;
}
});
});
代码基本上说点击“.pigs ul.pigspagination li a”从给定的url加载父元素,即“.pigs”,然后从url加载相同的片段。但是,这似乎不起作用:
$(element).load(url + ' ' + element);
我假设正在加载 url,然后添加一个空格,然后说从 var element = $(this).closest(".pigs"); 引用的元素
如果你想知道为什么我不能放 $(element).load(url + '.pigs');
这是因为我多次引用 .pigs 并且它是自动的,因为它是我编写的 php 库脚本。
html 大致如下所示:
<div class="pigs">
<ul class="pigs-gallery">
<li><a href="the link" target="_blank"></a></li>
...
</ul>
<ul class="pigspagination">
<li><a href="pagination link">< Prev</a></li>
...
<li><a href="pagination link">Next ></a></li>
</ul>
</div>
但是,加载了更多画廊。
有任何想法吗?
-------------- 为 bfavaretto 编辑 -------------- 试过这个
var frag = $(this).closest(".pigs").attr('id');
$(element).load(url + ' #' + frag);
它只加载了那个吸力,但删除了所有代码,我的猜测是 frag 传递得很糟糕。.attr('id'); 会自己得到id,而不是'#'对吗?
如果有人感兴趣,结局代码:
$(document).ready(function(){
$('.pigs ul.pigspagination li a').live('click', function(e) {
e.preventDefault();
var url = $(this).attr('href');
if(url.match('^http')){
return true;
} else {
var element = $(this).closest(".pigs");
$(element).append('<div id="loading"><img alt="Loading..." src="loading.gif" /></div>');
$('#loading').fadeIn('normal');
var frag = $(this).closest(".pigs").attr('id');
$(element).load(url + ' #' + frag);
return false;
}
});
});