从项目网格中获取属性

时间:2014-07-04 16:02:36

标签: javascript jquery for-loop grid

我有一个游戏板8x8。下面是创建董事会的代码......

for (var i = 0 ; i < TOTAL_ROWS ; i++) {
tab_imgs[i] = [];
for (var j = 0 ; j < TOTAL_COLUMNS ; j++) {
  var num_img = Math.ceil(Math.random() * NUM_IMGS);

  if (i > 1) {
    while(tab_imgs[i-2][j] == num_img && tab_imgs[i-1][j] == num_img){
      num_img = Math.ceil(Math.random() * NUM_IMGS);
    }
  }
  if (j > 1) {
    while(tab_imgs[i][j-2] == num_img && tab_imgs[i][j-1] == num_img){
      num_img = Math.ceil(Math.random() * NUM_IMGS);

      if (i > 1) {
        while(tab_imgs[i-2][j] == num_img && tab_imgs[i-1][j] == num_img){
          num_img = Math.ceil(Math.random() * NUM_IMGS);
        }
      }

    }
  }

  tab_imgs[i][j] = num_img;
  render_table += '<div class="jewel jewel_' + num_img + '" data-row="' + i + '" data-col="' + j + '" data-jewel="' + num_img + '" style="top: ' + Number(i*TOTAL_IMGS) + 'px; left: ' + Number(j*TOTAL_IMGS) + 'px;"></div>';
}
}

上面的代码将生成一个随机板。我的问题是当用户恢复现有游戏时。我需要遍历ALREADY生成的html并抓住属性&#34; data-jewel&#34;所以不是这些行:

num_img = Math.ceil(Math.random() * NUM_IMGS);

我有:

num_img = attribute('data-jewel') 
每个网格

;

1 个答案:

答案 0 :(得分:1)

您可以使用jQuery .data()方法检索数据属性的值:

num_img = +$('.selector').data( 'jewel' );