在jQuery中使用ID优化搜索(子选择器?



>我正在尝试从div创建一种网格,并且我正在动态地执行此操作。现在我有几行(每一行都有 ID),行中的每个元素也有一个 ID(它会重复,我希望 ID 是唯一的)。基本上,我想做的是用某些图片平铺空间,我想为每个特定元素添加一个唯一的 ID,这样我就可以通过单击更改它,甚至重新分配值(更改磁贴等)。

但是我不太确定我该怎么做,因为在我的循环中,我只能创建一行(行),然后附加它(通过克隆)。如果有人可以建议另一种循环和分配某些ID的方法,我将不胜感激。

提前感谢!

我的代码如下。

minecraft.createDirt = function () {
  var columns = 20;
  var $row = $("<div/>", {
      class: 'row'
  });
  var $square = $("<div/>", {
      class: 'dirt cell'
  });
  $(document).ready(function () {
      //add columns to the the temp row object
      for (var i = 0; i < 20; i++) {
        var dr = $square.clone();
        dr.attr('id', 'dr'+i);
          $row.append(dr);
      }
      //clone the temp row object with the columns to the wrapper
      for (var i = 0; i < 4; i++) {
        var row = $row.clone();
        row.attr('id', 'rowdirt'+i);
          $("#wrapper").append(row);
      }
    })
} 

您应该迭代每个单元格并在追加时设置id

$(document).ready(function () {
    //clone the temp row object with the columns to the wrapper
    for (var i = 0; i < 4; i++) {
        var row = $row.clone();
        var rowId = 'rowdirt' + i;
        row.attr('id', rowId);
        //add columns to the the temp row object
        for (var j = 0; j < 20; j++) {
            var dr = $square.clone();
            dr.attr('id', rowId + '_dr' + j);
            row.append(dr);
        }
        $("#wrapper").append(row);
    }
})

最新更新