Javascript 为什么过滤功能在li上不起作用?
嗨 我正在尝试使用仅筛选功能筛选我的Javascript 为什么过滤功能在li上不起作用?,javascript,jquery,Javascript,Jquery,嗨 我正在尝试使用仅筛选功能筛选我的li。我有一个按钮(筛选文本)。当我单击按钮时,我只想显示具有类abc的li。我这样尝试 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <script src="https://code.jquery.com/
li
。我有一个按钮(筛选文本)。当我单击按钮时,我只想显示具有类abc
的li
。我这样尝试
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<script src="https://code.jquery.com/jquery-2.0.3.js"></script>
<style>
ul {
list-style: none;
cursor: pointer;
}
.tabItem li {
float: left;
padding: 20px;
}
.tabItem li.active {
color: red;
}
.clear {
clear: both;
}
.hideDiv{
display: none;
}
</style>
</head>
<body>
<button class="filter">filler</button>
<ul class="item">
<li class="äbc">123</li>
<li class="pp">12</li>
<li class="äbc">78</li>
<li class="äc">13</li>
</ul>
<script>
$(function () {
$('.filter').click(function () {
var $items = $('.item li');
//$items.hide().filter(filterClasses.join('')).show();
var $newItem =$items.filter(function (i,item) {
console.log(i)
console.log(item)
return $(item).hasClass('abc')
})
$($newItem).show();
});
});
</script>
</body>
</html>
就用,
$('.item li[class=abc]').show(); // Let it is abc not äbc
$(函数(){
$('.filter')。单击(函数(){
$('.item li').hide();//首先隐藏所有
$('.item li[class=abc]').show();//然后仅显示具有abc类的
});
});代码>
ul{
列表样式:无;
光标:指针;
}
李先生{
浮动:左;
填充:20px;
}
.tabItem li.active{
颜色:红色;
}
.清楚{
明确:两者皆有;
}
希迪夫先生{
显示:无;
}
填料
- 123
- 12
- 78
- 13
请记住,äbc和abc是不相等的。我猜你的意思是说类名称是abc,如果是这样的话,这里有一个快速的解决方案。希望有帮助
$(函数(){
$('.filter')。单击(函数(){
变量$items=$('.item li');
var$newItem=$items.filter(函数(i,项){
return!$(item).hasClass('abc');
});
$($newItem.hide();
});
});代码>
ul{
列表样式:无;
光标:指针;
}
李先生{
浮动:左;
填充:20px;
}
.tabItem li.active{
颜色:红色;
}
.清楚{
明确:两者皆有;
}
希迪夫先生{
显示:无;
}
填料
- 123
- 12
- 78
- 13
您需要隐藏未过滤的li,请尝试以下操作
保险商实验室{
列表样式:无;
光标:指针;
}
李先生{
浮动:左;
填充:20px;
}
.tabItem li.active{
颜色:红色;
}
.清楚{
明确:两者皆有;
}
希迪夫先生{
显示:无;
}
填料
- 123
- 12
- 78
- 13
$(函数(){
$('.filter')。单击(函数(){
变量$items=$('.item li');
//$items.hide().filter(filterClasses.join(“”)).show();
var$newItem=$items.filter(“.bc”);
$($items.hide();
$($newItem.show();
});
});
尝试使用$items.not('.abc').hide()来实现所需
$(function() {
$('.filter').click(function() {
var $items = $('.item li');
$items.not('.abc').hide();
});
});
以下是工作代码:与 äbc
!=abc
。你能分享赃物吗查看此$($newItem).show()如果元素已显示,则代码>不会执行任何操作。我想使用筛选功能使用筛选选项尝试我的更新答案和代码段。
$(function() {
$('.filter').click(function() {
var $items = $('.item li');
$items.not('.abc').hide();
});
});