Javascript 流沙插件。如何在两个不同的数据属性中获取一个项目?

Javascript 流沙插件。如何在两个不同的数据属性中获取一个项目?,javascript,jquery,class,filter,custom-data-attribute,Javascript,Jquery,Class,Filter,Custom Data Attribute,我想在单击两个不同的数据属性时收到一个项目图片 其中一个项目有两个选项可供选择,单击两个不同的链接时应可见 在一个列表元素中有数据室和数据选项属性 我的代码如下所示: HTML: 您的大if/else中有一个错误,没有包含class=“li[data rooms=”或“li[data option=”的项目。对不起,我不明白。请您写得更清楚一点好吗?我将不胜感激!您有var$filterType=$(this).attr('class'));,在$filterType中,只能有以下值:all a

我想在单击两个不同的数据属性时收到一个项目
图片

其中一个项目有两个选项可供选择,单击两个不同的链接时应可见

在一个列表元素中有
数据室
数据选项
属性

我的代码如下所示:

HTML:


您的大if/else中有一个错误,没有包含class=“li[data rooms=”或“li[data option=”的项目。对不起,我不明白。请您写得更清楚一点好吗?我将不胜感激!您有
var$filterType=$(this).attr('class'));
,在
$filterType
中,只能有以下值:all active、kawalerka、2pokoje、3pokoje、sprzedaz或wynajem。在if/else语句中,您尝试将此数据与以下值匹配:all、li[data rooms=或li[data option=。在JQuery选择器中也有以下值:
$data.find('li[data rooms='+$filterType+')+li[数据选项='+$filterType+']')
,您忘记了:“
$data.find('li[datarooms=“'+$filterType+']”]]+li[data option=“'+$filterType+']”])
<ul id="filterOptions">
  <li><a href="#" class="all active">Wszystkie</a></li>
  <li><a href="#" class="kawalerka">Kawalerka</a></li>
  <li><a href="#" class="2pokoje">2 pokojowe</a></li>
  <li><a href="#" class="3pokoje">3 pokojowe</a></li>
  <li><a href="#" class="sprzedaz">Sprzedaż</a></li>
  <li><a href="#" class="wynajem">Wynajem</a></li>
</ul>

<ul class="ourHolder">
  <li class="item" data-id="id-1" data-rooms="3pokoje" data-option="wynajem">
    <img src="img/oferta/4.jpg" />
  </li>
  <li class="item" data-id="id-2" data-rooms="3pokoje">
    <img src="img/oferta/3.jpg" />
  </li>
  <li class="item" data-id="id-3" data-rooms="2pokoje">
    <img src="img/oferta/2.jpg" />
  </li>
  <li class="item" data-id="id-4" data-rooms="kawalerka">
    <img src="img/oferta/3.jpg" />
  </li>
  <li class="item" data-id="id-5" data-rooms="sprzedaz">
    <img src="img/oferta/4.jpg" />
  </li>
</ul>
$(document).ready(function() {
  var $filterType = $('#filterOptions li a.active').attr('class');
  var $holder = $('ul.ourHolder');
  var $data = $holder.clone();
  $('#filterOptions li a').click(function(e) {
    $('#filterOptions li a').removeClass('active');
    var $filterType = $(this).attr('class');
    $(this).addClass('active');
    if ($filterType == 'all') {
      var $filteredData = $data.find('li');
    } else if ($filterType == 'li[data-rooms=') {
      var $filteredData = $data.find('li[data-rooms=' + $filterType + ']');
    } else if ($filterType == 'li[data-option=') {
      var $filteredData = $data.find('li[data-option=' + $filterType + ']');
    } else {
      var $filteredData = $data.find('li[data-rooms=' + $filterType + '] + li[data-option=' + $filterType + ']');
    }
    $holder.quicksand($filteredData, {
      duration: 800,
      easing: 'easeInOutQuad'
    });
    return false;
  });
});