2011-03-21 49 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|的匹配項。