我尝试根据多个条件构建过滤器,我想将数据和css属性结合起来。
实施例: 我有多个DIV,其数据属性称为" data-group"在共享相同数据组值的DIV中,我想定位具有相对位置的DIV。
<div id="a" data-group="1" style="position:fixed">
<div id="b" data-group="1" style="position:relative">
<div id="c" data-group="1" style="position:fixed">
<div id="d" data-group="0" style="position:fixed">
我想使用data-group = 1和固定位置创建所有DIV的过滤器分组。
当我只有一个条件时,我倾向于使用以下内容:
common = $("div").filter(function() { return $(this).attr("data-group") === 1; });
...但我怎样才能申请第二个条件?
谢谢!
劳伦
答案 0 :(得分:4)
你可以这样做,就像你现在这样做的方式:
common = $("div").filter(function() {
return $(this).attr("data-group") == 1 && this.style.position == 'fixed' ;
});
或使用单行:
common = $('div[data-group="1"][style="position:fixed"]');
答案 1 :(得分:2)
过滤fixed
:
common = $("div").filter(function() {
return $(this).attr("data-group") === 1 && $(this).css('position') === 'fixed';
});
过滤relative
:
common = $("div").filter(function() {
return $(this).attr("data-group") === 1 && $(this).css('position') === 'relative';
});