jquery - 带有两个嵌套 flexbox 的动态磨碎网格不起作用?

标签 jquery html css

我正在创建一个带有嵌套 flexbox div 的网格。我的带有两个 for 循环的代码不起作用。

每当我尝试在没有字符串变量的情况下分配 id 时,它都可以工作,但如果我使用变量来分配 id 属性,它就不会。你能帮我找出我可能做错了什么吗?

$('#gameareaGrid').append('<div class="gridContainer" id="gridId">' + '</div>');

for (i = 0; i < 10; i++) {
  let rowId = "row" + i;
  $('#gridId').append('<div class="rowContainer" id="+rowId+">' + '</div>');

  for (j = 0; j < nb_cols; j++) {
    $('"#"+rowId').append('<div class="cell" id=rowId+j>' + '</div>');
  }
}

最佳答案

您需要正确组织单引号/双引号,以免在连接值时破坏字符串的定界:

$('#gameareaGrid').append('<div class="gridContainer" id="gridId"></div>');

for (i = 0; i < 10; i++) {
  let rowId = "row" + i;
  $('#gridId').append('<div class="rowContainer" id="' + rowId + '"></div>');

  for (j = 0; j < nb_cols; j++) {
    $('#' + rowId).append('<div class="cell" id="' + (rowId + j) + '"></div>');
  }
}

我建议使用带有语法突出显示的编辑器,因为它可以更轻松地管理它。

另请注意,动态生成具有唯一/增量 id 属性的元素是一种反模式。我建议使用公共(public)类,然后在需要处理的事件发生时通过 DOM 遍历关联内容。

关于jquery - 带有两个嵌套 flexbox 的动态磨碎网格不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57377519/

相关文章:

javascript - react : change value of hidden input to the number of clicked 'span'

python - 如何选择弹出消息 "Allow",它是 HTML 页面的 Span 元素。预计使用 find_element_by_css_selector 解决方案

css - 如何摆脱 JavaFX Textview 周围的白色边框

html - 如何使用盒子? HTML 样式

html - 背景图像的阴影

javascript - jQuery .removeClass() 仅在 Chrome 中出现问题,在 IE11 中工作正常

jquery - 如何使用 jquery 和 Rails 3 发送带有嵌套表单的动态参数?

Javascript/jQuery 从元素位置/索引获取数组元素索引

javascript - 使用 jQuery 的追加生成输入字段

javascript - 是否可以更改点击元素?