作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过 jQuery 动态制作一个方 table
到目前为止我的代码是
$(document).ready(function() {
$('body').append('<table></table>');
initial();
});
var input = 16
function initial () {
for (i = 0; i < input; i++) {
$('table').append('<tr></tr>');
$('tr').append('<td></td>');
}
}
我想做的是,如果我添加 16 个表格行元素,那么将向每个元素添加 16 个表格数据元素,从而有效地创建一个 16x16 网格
我当前的代码仅创建了表格的一半我必须通过 jQuery 来做到这一点
抱歉,如果这很简单,但我有点愚蠢
谢谢
最佳答案
你必须一个接一个地进行两个循环:
$(document).ready(function() {
$('body').append('<table></table>');
initial();
});
var input = 16
function initial () {
for (i = 0; i < input; i++) {
$('table').append('<tr></tr>');
}
for (j = 0; j < input; j++) {
$('tr').append('<td>content</td>');
}
}
顺便说一句,创建表的方式是错误的,因为你每次都引用 DOM,这是昂贵的。您应该首先使用表创建字符串,然后将其追加到 DOM 中:
var input = 16
function initial () {
var output = "<table>"
for (i = 0; i < input; i++) {
output += "<tr>";
for (j = 0; j < input; j++) {
output += "<td>content</td>";
}
output += "</tr>";
}
output += "</table>"
$('body').append(output);
}
关于javascript - 如何将 'x' 个 <td> 元素添加到 for 循环中的 <tr> 元素中? [jQuery],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39688558/
我是一名优秀的程序员,十分优秀!