从项目网格中获取属性

Get an attribute from a grid of items

本文关键字:获取 属性 网格 项目      更新时间:2023-09-26

我有一个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>';
}
}

上面的代码将生成一个随机板。我的问题是当用户恢复现有游戏时。我需要循环遍历已经生成的html并获取属性"data-jewel",而不是这些行:

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

:

num_img = attribute('data-jewel') 

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

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