Javascript jQuery隐藏标题中没有$somestuff的图像
我正在尝试编写一个代码,其中页面上有数千个图像缩略图,用户希望快速重复地搜索它们 于是转向可靠的jQuery。我想出了以下代码:Javascript jQuery隐藏标题中没有$somestuff的图像,javascript,jquery,Javascript,Jquery,我正在尝试编写一个代码,其中页面上有数千个图像缩略图,用户希望快速重复地搜索它们 于是转向可靠的jQuery。我想出了以下代码: $(document).ready(function () { $('input[name="search"]').keyup(function(e){ console.log('checking...'); var $this = $(this); if($this.val().length > 3 |
$(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完成这项任务
$('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');
};
});
选择器的问题是,$(此)。not(检查)
检查$(此)
是否与检查
选择器匹配,但我猜.asset
是包含IMG的div,而不是图像元素本身
选择器的问题是$(此)。not(检查)
检查$(此)
是否与检查选择器匹配,但我猜.asset
是包含IMG的div,而不是图像元素本身。我们需要一个HTML示例来给出确切的解决方案。您的图像是否在.asset
中?他们有asset
类吗?你能设置一个JSFIDLE吗?不要一直重复$('input[name=“search”])
,这是一个昂贵的选择器——在处理函数中使用$(this)
(更好的是,用$this=$(this);
)将它分配给一个变量。编辑其他人的问题时,您不应该对代码进行结构更改。如果有必要,只需重新格式化,但添加变量是不合适的。我们需要一个HTML示例来给出确切的解决方案。您的图像是否在.asset
中?他们有asset
类吗?你能设置一个JSFIDLE吗?不要一直重复$('input[name=“search”])
,这是一个昂贵的选择器——在处理函数中使用$(this)
(更好的是,用$this=$(this);
)将它分配给一个变量。编辑其他人的问题时,您不应该对代码进行结构更改。如果有必要,只需重新格式化,但添加变量是不合适的。由于没有代码,因此无法确定资产和图像html结构,但这是一个更干净/更快的逻辑。症状强烈表明这就是问题所在。谢谢,这很好地工作,您认为html无法确定资产和图像html结构是正确的,因为没有代码,但这是一个更干净/更快的逻辑。症状强烈表明这就是问题所在。谢谢,这很有效,您认为html是正确的