gpt4 book ai didi

javascript - 使用 Javascript 创建表

转载 作者:IT王子 更新时间:2023-10-29 02:45:49 25 4
gpt4 key购买 nike

我有一个 JavaScript 函数,它创建一个包含 3 行 2 个单元格的表格。

谁能告诉我如何使用我的函数创建下表(我需要根据我的情况这样做)?

下面是我的 javascript 和 html 代码:

function tableCreate() {
//body reference
var body = document.getElementsByTagName("body")[0];

// create elements <table> and a <tbody>
var tbl = document.createElement("table");
var tblBody = document.createElement("tbody");

// cells creation
for (var j = 0; j <= 2; j++) {
// table row creation
var row = document.createElement("tr");

for (var i = 0; i < 2; i++) {
// create element <td> and text node
//Make text node the contents of <td> element
// put <td> at end of the table row
var cell = document.createElement("td");
var cellText = document.createTextNode("cell is row " + j + ", column " + i);

cell.appendChild(cellText);
row.appendChild(cell);
}

//row added to end of table body
tblBody.appendChild(row);
}

// append the <tbody> inside the <table>
tbl.appendChild(tblBody);
// put <table> in the <body>
body.appendChild(tbl);
// tbl border attribute to
tbl.setAttribute("border", "2");
}
<table width="100%" border="1">
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td rowspan="2">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>

最佳答案

使用 insertRow 的代码略短和 insertCell :

function tableCreate() {
const body = document.body,
tbl = document.createElement('table');
tbl.style.width = '100px';
tbl.style.border = '1px solid black';

for (let i = 0; i < 3; i++) {
const tr = tbl.insertRow();
for (let j = 0; j < 2; j++) {
if (i === 2 && j === 1) {
break;
} else {
const td = tr.insertCell();
td.appendChild(document.createTextNode(`Cell I${i}/J${j}`));
td.style.border = '1px solid black';
if (i === 1 && j === 1) {
td.setAttribute('rowSpan', '2');
}
}
}
}
body.appendChild(tbl);
}

tableCreate();

此外,这并没有使用一些“坏习惯”,比如设置一个border属性而不是使用CSS,它通过访问body document.body 而不是 document.getElementsByTagName('body')[0];

关于javascript - 使用 Javascript 创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14643617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com