Javascript 使用jQuery将类名映射到单独的数组

Javascript 使用jQuery将类名映射到单独的数组,javascript,jquery,filtering,tagging,Javascript,Jquery,Filtering,Tagging,假设我们有以下html: <ul id="portfolio-list" class="clearfix span-24"> <li class="2012#foo bar car#cat_1">item 1 <br /></li> <li class="2011#car foo fly#cat1">item2 <br /></li> <li class="2009#car fly swat

假设我们有以下html:

 <ul id="portfolio-list" class="clearfix span-24">

  <li class="2012#foo bar car#cat_1">item 1 <br /></li>
  <li class="2011#car foo fly#cat1">item2 <br /></li>
  <li class="2009#car fly swat_car#cat_2">item3<br /></li>
  <li class="2012#bar show car#cat_3">item 4<br /></li>

</ul>

任何帮助都将不胜感激

全球各地都有! 有关解释,请参见注释

//答案移到小提琴上:

请提供一个示例,说明您从上述HTML中获得的结果。这个问题是为了让我能够创建一个可过滤的标记列表。这里有一个链接,可以让你更全面地了解我正在努力实现的目标。您可以看到,这不会输出标记列表中的所有标记,只输出最后一项中的值。[链接]嗨,弗洛,我真的很感激你的回答,但这并不能让我们达到目的。嗨,弗洛,我真的很感激你的回答,但这并不能让我们达到目的。有两个问题:一,。
classesListin=[]
需要是
classListin=[]2。这只输出每个部分的第一个字母,它不会像上面预期的那样输出。如果添加
console.log(classListin)jQuery(document).ready(function($) {
    var splitList = $("#portfolio-list li").map(function() {
        inStringy = $(this).attr("class").split('#');
        list = $(this).attr('class');
        list = list.split("#").join(" ");
        $(this).removeClass();
        var that = $(this);
        $(that).addClass(list);
        return inStringy;
    });

    cla = [];
    yr = inStringy[0]; 
    classListin[classListin.length] = cla + "";
    categoryListin[categoryListin.length] = cat + " ";
    cla = inStringy[1];
    cla = cla.split(" ");
    cat = inStringy[2];
    yearListin = [];
    classListin = [];
    categoryListin = [];
    yearListin[yearListin.length] = yr + "";
    classListin[classListin.length] = cla + "";
    categoryListin[categoryListin.length] = cat + " ";
});