使用for循环和if语句检查带有数字的id名称

时间:2013-03-28 05:38:10

标签: javascript jquery if-statement for-loop

       for (var i = 1; i < 81; i++){
            if($(this).hasClass('member-'+i)){
                ('promote'+i) = true;
            }
        }

我有80个可放置的盒子。它们每个都有一个名为member-1,member-2等的id,当有人将一个项目拖入框中时,该变量将变为true并传递给另一个函数。

到目前为止,我发现这不起作用。我不知道为什么。它位于可放置的拖放功能内。

因为我有80个盒子......我不想手动输入它们。

2 个答案:

答案 0 :(得分:0)

使promote成为一个数组,而不是80个不同的变量。然后你可以这样做:

   var promote = [];
   for (var i = 1; i < 81; i++){
        if($(this).hasClass('member-'+i)){
            promote[i] = true;
        }
    }

答案 1 :(得分:0)

更好的方法是看看哪些类确实存在而不是测试81个不同的类:

var matches, promotes = [], cls = this.className;
var regex = /member-(\d+)/g;
while (matches = regex.exec(cls)) {
    // matches[1] contains the number from the member-xx class name
    promotes.push(parseInt(matches[1], 10));
}
// promotes is an array that contain a list of the member-xx numbers that exist
// on this object