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

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

到目前为止,我发现这不起作用。我不确定为什么。它位于可放置的放置函数中。

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

4

2 回答 2

0

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

   var promote = [];
   for (var i = 1; i < 81; i++){
        if($(this).hasClass('member-'+i)){
            promote[i] = true;
        }
    }
于 2013-03-28T05:44:10.287 回答
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
于 2013-03-28T06:08:09.980 回答