jQuery - 在多个条件下过滤

时间:2016-06-15 19:37:19

标签: jquery

我尝试根据多个条件构建过滤器,我想将数据和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;          });

...但我怎样才能申请第二个条件?

谢谢!

劳伦

2 个答案:

答案 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';
});
相关问题