我正在尝试对一个页面上的数千个图像缩略图进行编码,并且用户希望快速且重复地搜索它们。
转向可靠的jQuery。我想出了以下代码:
$(document).ready(function () {
$('input[name="search"]').keyup(function(e){
console.log('checking...');
var $this = $(this);
if($this.val().length > 3 || e.which == 8 || e.which == 46) {
var check = 'img[title*="' + $this.val() + '"]';
$.each($('.asset'), function() {
$(this).show();
$(this).not(check).hide();
})
console.log(check);
} else {
console.log('False');
};
});
});
仅部分有效。它失败的一点是$(this).not(check).hide();
只是简单地隐藏所有内容而不选择标题中带有搜索查询的图像。
有没有办法让jQuery完成这项任务?
答案 0 :(得分:3)
$('input[name="search"]').keyup(function(e){
console.log('checking...');
var search = $(this).val();
if(search.length > 3 || e.which == 8 || e.which == 46) {
$(".asset img").hide();
$(".asset img[title*='" + search + "']").show();
} else {
console.log('False');
};
});
选择器的问题是$(this).not(check)
检查$(this)
是否与check
选择器匹配,但我猜测.asset
是包含IMG的DIV,而不是图像元素本身。