如果img attr scr有特定的词

时间:2011-07-16 14:07:17

标签: jquery

如何抓取特定图像;如果图像被命名:

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

是否可以检索匹配图像的数量并将其打印在屏幕上? 我会提出任何好的建议,谢谢

3 个答案:

答案 0 :(得分: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.

答案 1 :(得分: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.");
});

答案 2 :(得分:1)

这些名称以您找到的单词开头。所以应该使用开始匹配选择器:

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