2012-05-31 63 views
0

解析文件名,所以我有幾個環節:使用jQuery和正則表達式

<a href="#">2k01</a> 
<a href="#">3a01</a> 
<a href="#">5a01</a> 
etc... 

當我點擊一個鏈接,我要顯示一組與標籤之間的文本相關的圖像。我有一個包含其中所有圖像的圖像/文件夾,並且圖像名稱被格式化爲「some text_2k01_some text」,「some text_3a01_some text」等。我想僅顯示單擊鏈接內部文本的圖像。我懷疑有使用JQuery和正則表達式的解決方案,但我一直無法找到它。任何幫助將非常感激。

+0

「some_text」對於所有圖像總是相同的? – fcalderan

+0

不,它發生了變化,這只是作爲一個例子,之前和之後可能會有任何東西 –

回答

0

我認爲你以前可以插入你想要得到的圖像—作爲data-*屬性—的名字,像這樣

<a href="#" data-image="folder/your-image-2k01.jpg">2k01</a> 
<a href="#" data-image="folder/other-image-3a01.jpg">3a01</a> 
<a href="#" data-image="folder/foobar-image-5a01.jpg">5a01</a> 

所以JS會簡單地

$(document).on('click', 'a[data-image]', function() { 
    var $this = $(this), 
     url = $this.data('image'), 
     img = $('<img src="'+ url +'" />'); 

    $this.append(img); 
}) 

,你會不會被捆綁過強的文件名格式

0

請勿對此使用正則表達式。您可以使用jQuery:

jQuery("a").click(function() { 
    var linkText = jQuery(this).text(); 
    var filename = "sometext_" + linkText + "_sometext"; 
    ... 
    ...code to display your images 
    ... 
}); 
0
$('a').on('click', function(){ 
    $('img').hide(); 
    $('img[src|="' + $(this).text() + '"]').show(); 
}); 

當您點擊一個鏈接時,它會在圖像源包含的頁面上找到所有圖像(這就是|=所做的),然後顯示鏈接中的任何文本。同時首先隱藏所有圖像,假設您只想要顯示與點擊鏈接關聯的圖像。