jQuery - 根据父DIV元素选择子元素组

3

我有一个普通的html页面,其中包含div和链接图片等元素:

<div>
  <a href="foo.jpg"> ... </a>
  <a href="boo.jpg"> ... </a>
</div>

<div>
  <a href="bah.jpg"> ... </a>
  <a href="gah.jpg"> ... </a>
</div>

...

我尝试在所有以jpg/gif/png结尾的链接上挂钩lightbox脚本。

目前,基于我之前提出的一个问题:),我的代码如下:

 $('div a').filter(function(){
   return this.href.match('[\.jpg|\.png|\.gif]$');
 }).colorbox({
   rel: 'gallery'
 });

这段代码将所有链接分组到名为gallery的组中。

但我希望将每个

内的链接分别分组到自己的图库中。例如,将.foo和.boo链接分别放在gallery1中,将.bah和.gah链接放在gallery2中,以此类推...

我该如何实现呢?

2个回答

8
$('div').each(function(index) {
   $(this).find('a').filter(function(){
       return this.href.match('[\.jpg|\.png|\.gif]$');
   }).colorbox({
       rel: 'gallery' + index
   });
});

2

抱歉,无法评论其他答案。

你的正则表达式需要使用括号,而不是方括号:

(\.jpg|\.png|\.gif)$

否则,你会匹配字符.jpgpnif|,文件名foo|也会匹配。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接