如何抓取特定图像;如果图像被命名:
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
是否可以检索匹配图像的数量并将其打印在屏幕上? 我会提出任何好的建议,谢谢
答案 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() { /* ... */ });