jQuery - 数组元素上的迭代+ addClass

时间:2012-08-16 18:14:16

标签: jquery arrays loops addclass

我有:

    $('#a1').addClass('play');
    $('#a3').addClass('play');
    $('#a5').addClass('play');  
    $('#a16').addClass('play');
    $('#b3').addClass('play');

因此决定最好使用类似的东西:

var doString="m7,m7,a1,b2,c3,p16,o15,n14,d8,e7,g5,i4,l4,n6,o8,n10,m11,k12,i11,i13,k15,l16,f9";
var strArray1 = doString.split(",");
console.log(doString);
console.log(strArray1);

$.each(strArray1, function(i, elem) { 
    console.log(elem); 
    $('#'+elem+').addClass('play'); // not working
});

但是无法确定将类添加到每个元素的正确参数。

我该怎么做?

1 个答案:

答案 0 :(得分:4)

$.each(strArray1, function(i, val) { 

    // i => index(0,1,..)
    // val => m7,m7,a1,...

    $( '#' + val ).addClass('play'); 
});

$.each(strArray1, function() { 

    // this[0] => m7,m7,a1,...

    $( '#' + this[0] ).addClass('play'); 
});

编辑后(您的代码)

$.each(strArray1, function(i, elem) { 
    console.log(elem); 
    $('#'+elem+').addClass('play'); // not working
});

$('#'+elem+')应该是$('#'+ elem )

在这里,您要从选择器中移除尾随+',然后将其完美删除。