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

时间:2011-03-21 17:23:41

标签: javascript jquery jquery-selectors lightbox

我有一个普通的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扩展名结尾的链接上挂钩灯箱脚本。

现在,根据之前提出的问题:),我有:

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

gallery内的所有链接分组。

但我想在自己的画廊中对每个div进行分组。例如.foo'&amp; .bo链接到gallery1和.bah&amp; 。gallery2内的.gah等等......

我该怎么做?

2 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:2)

(抱歉,无法对其他答案发表评论)

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

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

否则你确实匹配字符.jpgpnif|foo|匹配的文件名。