2011-07-16 94 views
0

如何抓取特定圖像;如果圖像被命名爲:
if img attr scr has specific word

pc_monitor_24.jpg 
mac_monitor_23.jpg 
pc_mouse_23.jpg 

通過選擇僅部分名稱?

拼搶像textarea的輸入:
如果輸入「pc

$('.textarea').keyup(function(){ 
    var getName = $(this).html(); 
}); 

$('img.imgResult').attr('src', getName+'.jpg'); // this works but only if full name entered 

使用~selector

是否有可能檢索匹配的圖像的數量和打印他們在屏幕上?
我appretiate任何好的建議,謝謝

回答

4
var matchingImages = $('img.imgResult[src~="' + getName + '"]'); 

// Now you can loop over matchingImages using e.g. $.each 
// and call attr('src') to get the source for each one. 
2

有可能做到這一點更簡潔的方式,但如果一切都失敗了,你可以永遠只是檢查src屬性每一個:

$('.textarea').keyup(function(){ 
    var matchingImages = []; 
    var getName = $(this).html(); 
    jQuery.each($('img.imgResult'), function() { 
     if (this.src.indexOf(getName) != -1) { 
      matchingImages.push(this); 
     } 
    }); 
    alert("Found " + matchingImages.length + " images."); 
}); 
1

這些名稱以您找到的單詞開頭。因此,應使用起始匹配選擇器:

$('img.imgResult[src^="' + getName + '_"]').each(function() { /* ... */ });