javascript - 在 jQuery 中连接循环内的循环?

标签 javascript jquery

我正在尝试创建一个类似网格的结构。我想在循环中创建一个循环,并根据它是列还是行来附加 div。下面是我的attempt :

for (var row = 0; row < 8; row++) {
    $('#board').append('<div class="row">'+ row +'</div>');  
}

我想用纯 Javascript 复制什么(代码很可能是不正确的,我只是想展示一个我想要的示例):

var board = document.getElementById('board');

for (var row = 0; row < 8; row++) {
    board.write('<div class="row">');
    for(var col = 0; col < 8; col++) {
        var row = document.getElementsByClassName('row');
        row.write('<div class="piece">'+col+'</div>')
    }
    board.write('</div>');
}

如果我能以某种方式复制 jQuery 中的 document.write() 方法,那将会很有用。当我尝试包含 forloop 时,.append() 无法正常工作。

最佳答案

您只需循环遍历行和单元格即可构建单个 html 字符串,然后仅将其附加一次:

var rows = [], cells = [];
for (var row = 0; row < 8; row++) {
    cells = [];
    for (var cell = 0; cell < 8; cell++) {
        cells.push('<div class="piece">'+ row +'</div>');
    }
    rows.push('<div class="row">' + cells.join('') + '</div>');
}

$('#board').html(rows.join(''));

DEMO HERE

关于javascript - 在 jQuery 中连接循环内的循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18318051/

相关文章:

javascript - Selenium - 将 "WebElement"转换为 Javascript 或 JQuery 对象的通用方法

javascript - jQuery mobile - 适用于 iPad 的 block 和分屏

javascript - Bootstrap 导航栏搜索表单输入具有未应用的错误类

javascript - 从 Node.JS 中的平面集中提取分层数据集

jquery - Spring MVC 选择什么 jQuery 表插件?

javascript - 无法在 Jquery 中设置 null 的属性 'innerHTML'

jquery - 当内容动态更改时无法将样式应用于 ListView

Jquery验证: How To Ignore Placeholder Text (Produce Error on Default/Blank)

没有 REST 框架的 Linux 中的 JavaScript/Python 交互?

javascript - 在 JavaScript 中使用参数调用 apply 方法