Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 用这个隐藏类,而不是?_Jquery - Fatal编程技术网

Jquery 用这个隐藏类,而不是?

Jquery 用这个隐藏类,而不是?,jquery,Jquery,目前,我正在开发一个菜单列表来帮助我改进jQuery,但是我遇到了一个问题。我确信我应该能够使用此函数选择项目,并使用.not()隐藏不需要的项目 我把它放在小提琴上 菜单 素食鱼餐 汉堡 烟熏鲑鱼 味噌烤茄子黄瓜泡菜饭碗 牛排 鱼和薯条 茄子帕尔米加脆面包屑 $(文档).ready(函数(){ $(“按钮”)。单击(函数(){ var$this=$(this.find(“类”); $this.not($this.hide(); console.log($this); }); }); 您

目前,我正在开发一个菜单列表来帮助我改进jQuery,但是我遇到了一个问题。我确信我应该能够使用函数选择项目,并使用.not()隐藏不需要的项目

我把它放在小提琴上


菜单
素食鱼餐

汉堡
烟熏鲑鱼
味噌烤茄子黄瓜泡菜饭碗
牛排
鱼和薯条
茄子帕尔米加脆面包屑

$(文档).ready(函数(){
$(“按钮”)。单击(函数(){
var$this=$(this.find(“类”);
$this.not($this.hide();
console.log($this);
});
});

您的代码中有一些错误,需要添加一些内容。下面我有一个工作示例。我的变化:

  • 您在
    中缺少等号

  • 您使用jQuery试图获取所单击元素的
    类。相反,您可以使用
    attr()
    获取元素的属性。我将该类设置为一个名为
    selection
    的变量

  • 单击按钮时,我首先
    show()
    所有
    li
    元素,以恢复以前单击时隐藏的任何元素,以防需要再次显示它们

  • 然后我检查
    selection
    是否设置为任何值。如果单击无类的“全部显示”按钮,则不会显示。如果设置了该变量,则表示您已单击其中一个食品类别按钮,因此

  • $('.menu').find('li').not('.'+selection.hide()-我们选择所有
    li
    元素,然后使用
    not()
    减去不属于我们类的元素并隐藏它们

  • $(文档).ready(函数(){
    $(“按钮”)。单击(函数(){
    //获取已单击按钮的类属性
    变量选择=$(this.attr('class');
    //显示所有项目
    变量$items=$('.menu')。查找('li');
    $items.show();
    //如果单击的按钮有一个类。。。
    如果(选择){
    //隐藏没有该类的项目
    $items.not('..+selection).hide();
    }
    });
    });
    
    
    菜单
    素食主义者
    鱼盘
    荤菜
    全部展示
    
      汉堡 烟熏鲑鱼 味噌烤茄子黄瓜泡菜饭碗 牛排 鱼和薯条 茄子帕尔米加脆面包屑

    啊,我明白了,这是有道理的。谢谢:)
    <div class="menu-wrapper">
                <h4>Menu</h4>
                <button class="vegetarian">Vegetarian</button><button class="fish">Fish dishes</button><button class="meat">Meat Dishes</button><button id="all">Show all</button>
                <ul class"menu">
                    <li class="meat">Hamburger</li>
                    <li class="fish">Smoked Salmon</li>
                    <li class="vegetarian">Miso-grilled aubergine & cucumber pickle rice bowl</li>
                    <li class="meat">Steak</li>
                    <li class="fish">Fish and Chips</li>
                    <li class="vegetarian">Aubergine parmigiana with crispy breadcrumbs</li>       
                </ul>    
    
        </div>    
    
    $(document).ready(function(){
        $('button').click(function(){
            var $this = $(this).find("class");
            $this.not($this).hide();
            console.log($this);
        });
    });