Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.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 检查div是否具有所有四个类_Jquery_Html_Css - Fatal编程技术网

Jquery 检查div是否具有所有四个类

Jquery 检查div是否具有所有四个类,jquery,html,css,Jquery,Html,Css,基本上这是wordpress的过滤器 所有帖子都显示在一个页面中,我已经将类别名称作为类添加到帖子的主div.框中,其中一个div将有多个类 过滤器小部件中有四个下拉列表,其中所有类别都列为选项 我只想显示那个div,它将所有活动的类别名称作为类 下面是代码。在IF条件下,如何使用AND的概念 这个代码给了我一个错误 $('#filter select').change(function() { var upper=$('#upper').val();

基本上这是wordpress的过滤器

所有帖子都显示在一个页面中,我已经将类别名称作为类添加到帖子的主div.框中,其中一个div将有多个类

过滤器小部件中有四个下拉列表,其中所有类别都列为选项

我只想显示那个div,它将所有活动的类别名称作为类

下面是代码。在IF条件下,如何使用AND的概念

这个代码给了我一个错误

$('#filter select').change(function()
    {
            var upper=$('#upper').val();
            var sole=$('#sole').val();
            var toe=$('#toe').val();
            var midsole=$('#midsole').val();

            $('.box').each(function()
            {

                if($(this).hasClass(upper) && hasClass(sole) && hasClass(toe) && hasClass(midsole))
                {
                    $(this).show();
                }
                else{
                    $(this).hide();
                }
    });

});
你把这美元忘在班上了

你把这美元忘在班上了

您必须在if条件下将$this分配给所有.hasClass API。 因此,与其重复它,不如将其分配给一个变量,并如上所述使用它。 您必须在if条件下将$this分配给所有.hasClass API。 因此,与其重复它,不如将其分配给一个变量,并如上所述使用它。
您忘记了对象jquery选择器$this


您忘记了对象jquery选择器$this

选择组合类时,可以使用如下方法:

$('#filter select').change(function () {
    var upper = $('#upper').val();
    var sole = $('#sole').val();
    var toe = $('#toe').val();
    var midsole = $('#midsole').val();

    var classes = '.' + [upper, sole, toe, midsole].join('.');
    $('.box').hide().filter(classes).show();
});
基本上,构造“.”+[鞋面、鞋底、脚趾、中底].join“.”生成一个由四个类组成的字符串,这些类与。字符:.class1.class2.class3.class4,它是同时具有所有4个类的.box元素的CSS选择器。

您可以在选择组合类时使用如下方法:

$('#filter select').change(function () {
    var upper = $('#upper').val();
    var sole = $('#sole').val();
    var toe = $('#toe').val();
    var midsole = $('#midsole').val();

    var classes = '.' + [upper, sole, toe, midsole].join('.');
    $('.box').hide().filter(classes).show();
});
基本上,构造“.”+[鞋面、鞋底、脚趾、中底].join“.”生成一个由四个类组成的字符串,这些类与。字符:.class1.class2.class3.class4,它是同时具有所有4个类的.box元素的CSS选择器。

您可以使用这个.hasClass1.class2.class3,如果您确定按顺序, 否则

您可以使用这个.hasClassclass1 class2 class3,如果您确定顺序正确, 否则


更漂亮的方法是: $myId.is.foo.bar


编辑:这也独立于类的顺序

这是一种更漂亮的方法: $myId.is.foo.bar


编辑:这也与课程顺序无关

您错过了$this。有了HasClassSole,你可能需要看看@madalinivascu:这些不是div,而是select下拉列表。你错过了$this。有了HasClassSole,你可能得看看@madalinivascu:那些不是div,而是选择下拉列表。这是病人!我马上就开始工作了。还有一个问题。每个下拉列表的第一个选项都是我手动添加的所有选项。我如何使它工作,使职位与下拉列表下的类别之一将显示,如果所有被选中?非常感谢你的帮助,伙计,这是个病人!我马上就开始工作了。还有一个问题。每个下拉列表的第一个选项都是我手动添加的所有选项。我如何使它工作,使职位与下拉列表下的类别之一将显示,如果所有被选中?非常感谢你的帮助,伙计。谢谢你的帮助,塔莎。谢谢你的帮助,塔莎。
    if ($(this).hasClass(upper) && $(this).hasClass(sole) && $(this).hasClass(toe) && $(this).hasClass(midsole)) {
        ...
    }
$('#filter select').change(function () {
    var upper = $('#upper').val();
    var sole = $('#sole').val();
    var toe = $('#toe').val();
    var midsole = $('#midsole').val();

    var classes = '.' + [upper, sole, toe, midsole].join('.');
    $('.box').hide().filter(classes).show();
});
this.hasClass("class1) && this.hasClass("class2 ")