2011-03-21 48 views
3

我有一个正常的HTML页面一样的div和链接的东西与图片上的子元素的选择组:jQuery的 - 基于父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”一个gallery1和.bah & .gah内gallery2等内部& .boo链接...

我怎么能这样做?

回答

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

美丽,谢谢:P – Alex 2011-03-21 17:42:17

2

(抱歉,不能在对方的回答评论)

您正则表达式需要括号,括号不是:

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

否则你从字面上匹配字符.jpgpnif|和一个文件名为foo|的匹配项。