javascript - Jquery 切换两个或多个类

标签 javascript jquery css

由于我的英语水平有限,很难解释我尝试做什么。所以只看代码:

http://jsfiddle.net/mZV7R/1/

$( "input" ).on( "click", function() {
    $( "."+$(this).attr('value') ).toggle();
});

选中 Man 复选框后,将显示 Man 元素。当 Man 和 Woman 都被选中时,则不应显示任何内容。

该怎么做?

我想做一些类似 AND 操作的事情,并且具有 CSS 类的可见性。但是浏览器渲染引擎似乎做了一个OR操作。

最佳答案

尝试

$("input").on("click", function () {
    var selector = $('input[name="human"]:checked').map(function () {
        return '.' + this.value;
    }).get().join('')
    $('div').hide().filter(selector).show();
});

演示:Fiddle


清理

<input type="checkbox" name="human" value="man">Man<br>
<input type="checkbox" name="human" value="woman">Woman<br>
<input type="checkbox" name="human" value="tall">Tall<br>
<input type="checkbox" name="human" value="short">Short


<div class="human tall man">Tall Man</div>
<div class="human short man">Short Man</div>
<div class="human tall woman">Tall Woman</div>
<div class="human short woman">Short Woman</div>

然后

var $humans = $('div.human');
$('input[name="human"]').on("click", function () {
    var selector = $('input[name="human"]:checked').map(function () {
        return '.' + this.value;
    }).get().join('')
    $humans.hide().filter(selector).show();
});

演示:Fiddle

关于javascript - Jquery 切换两个或多个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21107045/

相关文章:

javascript - 在javascript代码中访问外部CSS属性

javascript - 无法通过 Express 路由从 Mongodb 中删除文档

javascript - 在 Twitter Bootstrap 的 Rails 3.2 中将 "popovers"样式化为 “bootstrap-popover.js”

javascript - 扩展框 - 整理

html - 动画 SVG 直升机桨叶

javascript - 以编程方式在后台打开一个新的浏览器选项卡

javascript - 关于在 React 中使用 ES6 类

javascript - 国际电话输入 getExtension 返回 "null"

javascript - jqGrid Pager 图标不显示

css - Flexbox space-between but center if one element