我有同位素问题。我正在使用ajax加载元素,并且在加载新元素时,它们的类也会在过滤器中使用。
我有办法通过检查元素是否在视图中来获取元素中的所有类(我使用的是imagesLoaded库,用于检查图像是否已加载,然后使用{{1}这将触发更改,以便我可以获取我的数组类。)
.bind('inview',...
这将在我加载的对象上返回一个类数组,如:
$('#container').find('article').each(function(){
var class_list = $(this).attr('class').split(/\s+/);
});
我得到了其中几个。现在我该如何处理所有这些,创建一个新阵列并检查它们是否是唯一的?
我找到了应该创建数组的["class1", "class2", "class3", ""]
http://api.jquery.com/jquery.unique/和.concat(),但我不知道如何定位它们?
答案 0 :(得分:1)
您可以使用Array.filter
方法将每个类的长度检查为jQuery集合:
$('#container').find('article').each(function(){
var class_list = $(this).attr('class').split(/\s+/);
var uniqueClasses = class_list.filter(function(className) {
return className && $("." + className).length === 1;
});
});