jquery - 检查一个 div 是否包含所有四个类

标签 jquery html css

基本上这是 wordpress 的过滤器。

所有帖子都显示在一页中,我已将类别名称作为类添加到帖子的主 div (.box),其中一个 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();
                }
    });

});

最佳答案

您可以使用 $.fn.filter选择组合类的这样的方法:

$('#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();
});

基本上,构造 '.' + [upper, sole, toe, midsole].join('.') 生成一个由四个类连接的字符串 . 字符:.class1.class2.class3.class4 ,它是同时具有所有 4 个类的 .box 元素的 CSS 选择器。

关于jquery - 检查一个 div 是否包含所有四个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29935925/

相关文章:

css - 如何使用动态加载的数据创建不同颜色的行?

css - rails Assets 预编译 css 命令

javascript - 绝对定位时使 <div> 缩放到内容?

javascript - 如何用另一个响应替换窗口的 URL 哈希值?

javascript - 失去焦点时关注输入框

Jquery Cycle - 显示多个 div

javascript - putImageData(),如果新像素是透明的,如何保留旧像素?

jquery - 如何在多选选项中获取所选选项数据属性

javascript - Google Maps InfoWindow 在调整 map 大小后不填充

javascript - 使 HTML5 视频在指定时间停止