prettyPhoto 根据方括号的内容将画廊组合在一起。因此,您将在同一个图库中获得所有 56 张图像,因为它们都已分配给图库 1。
你真正想要的是画廊 1 中的前十六个;
$(".gallery-icon a").attr('rel', 'prettyPhoto[1]');
画廊 2 中的下一个 16 个;
$(".gallery-icon a").attr('rel', 'prettyPhoto[2]');
问题是 - 鉴于rel
属性是通过 JS 分配的,如何做到这一点?好吧,我会考虑根据父父 div id 来做。每个画廊图标元素都有一个画廊项目父项。这些中的每一个都是具有特定 ID 的画廊类的一部分。例如
<div id='gallery-3' class='gallery galleryid-555 gallery-columns-4 gallery-size-thumbnail'>
<dl class='gallery-item'>
<dt class='gallery-icon'>
因此,您需要将该唯一的画廊 ID 分配为漂亮的照片 rel 值。IE;
$(".gallery-icon a").attr('rel', 'prettyPhoto[gallery-3]');
我会通过查找所有画廊图标并使用closest()
来查找父画廊 ID 来做到这一点,就像这样;
使用 Jquery 查找父 div 的 id
我没有测试过它或其他任何东西,但这样的东西应该会让你朝着正确的方向前进;
$('#content').find('.gallery-icon a').each(function() {
var gallid = $(this).closest("div").attr("id");
$(this).attr('rel', 'prettyPhoto['+ gallid +']');
});