Jquery 根据用户输入选择包含多个类的元素
可能的重复:
jQuery 多类选择器
我有一个输入字段“#q”,用户可以在其中键入搜索查询并返回一组与其类匹配的列表项。
function queryData() {
q = $('#q').val();
q = q.toLowerCase();
var qs = q.split(' ');
$('.item').fadeOut(300);
for (n in qs) {
$("li[class*='" + qs[n] + "']").fadeIn(1000);
}
}
<li class="apple"></li> <li class="apple banana"></li> <li class="banana"></li>
我不是专家,所以上面的代码可能看起来很粗糙。到目前为止,上面的代码只能显示其类别与查询匹配的 li,而不管查询中的单词数量有多少。因此,如果我输入“apple蕉”,任何以apple或banana为类的li都会fadeIn()。如何编辑此函数,以便只有类中同时包含苹果和香蕉的 li 才会 fadeIn()?
Possible Duplicate:
jQuery multiple class selector
I have an input field '#q' where a user can type a search query and returns a set of list items whose classes match it.
function queryData() {
q = $('#q').val();
q = q.toLowerCase();
var qs = q.split(' ');
$('.item').fadeOut(300);
for (n in qs) {
$("li[class*='" + qs[n] + "']").fadeIn(1000);
}
}
<li class="apple"></li> <li class="apple banana"></li> <li class="banana"></li>
I'm not an expert so the code above may appear crude. So far, the code above is only able to display li's whose classes match the query regardless of the number of words in the query. So, if I type in "apple banana", any li with apple or banana as class will fadeIn(). How do I edit this function so that only the li's with BOTH apple and banana in its class will fadeIn()?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如何选择具有多个类的元素?
也尝试一下:
How can I select an element with multiple classes?
Try this too:
我将使用术语列表来构建单个查询,例如,
这将在输入任何类的任何“li”中淡出。
引用的 jquery-multiple-class-selector 仅匹配包含 all 类的元素
编辑:刚刚看到您的编辑(需要 all 类)。在这种情况下,请尝试
I'd use the list of terms to build a single query, eg
This will fade in any "li" with any class entered.
The jquery-multiple-class-selector referenced only matches elements containing all classes
EDIT: Just saw your edit (require all classes). In that case, try