JS/jQuery的 - 扩展瓦尔每() - 函数

问题描述:

我有两个列表格式为:JS/jQuery的 - 扩展瓦尔每() - 函数

<ul id="filters" class="option-set button-group" data-filter-group="kategorie"> 
    <li> 
     <a href="#" data-filter=".corporatedesign">Corporate Design</a> 
    </li> 
    <li> 
     <a href="#" data-filter=".webdesign">Webdesign</a> 
    </li> 
</ul> 

在Javascript中有一个点击功能,就将此或删除类“isotopeactive”的链接 - 元素:

$('#filters a').click(function(){ 
    var $this = $(this);     
    if ($this.hasClass('isotopeactive')) { 
     $this.removeClass('isotopeactive'); 
    }else{ 
     $this.addClass('isotopeactive'); 
    } 

的问题是让所有的数据过滤 - 数据来自那些“isotopeactive”到一个变量的所有元素。我第一次尝试是这样的,但它不工作..

var filterValue = ''; 
var i = 0; 

$(".isotopeactive").each(function() { 
    filterValue += $this.attr('data-filter'); 
    i++; 
}); 

在我想是这样的结尾: filterValue =>“.corporatedesign .webdesign”

有什么建议?谢谢! :)

我建议:

var data = $('.isotopeactive').map(function(){ 
      return this.dataset.filter; 
      }).get(); 

对于这些,年纪大了,不实现dataset浏览器:

var data = $('.isotopeactive').map(function(){ 
      return this.getAttribute('data-filter'); 
      }).get(); 

或者:

var data = $('.isotopeactive').map(function(){ 
      return $(this).data('filter'); 
      }).get(); 

这将返回一组值为data变量的值。

参考文献:

+0

完美的作品。非常感谢你! :) – 2014-11-25 12:44:22

+0

你真的很受欢迎,我很高兴得到了帮助! :) – 2014-11-25 12:51:34