【发布时间】:2020-04-24 20:32:10
【问题描述】:
所以,我必须从 HTML 代码生成多个表格。我可以使用纯 javascript 代码生成多个表,但分配 id 并获取其值太难了。正如我写的 javascript 函数 generate_table
所以我从那个 HTML Table 创建了一个示例 HTML 表,如何再次生成相同的表(多次)。我为表 TD 和 TR 编写了太多的 javascript 代码。如何减少该代码。
我有很多表要重新生成特定表,所以我不能使用<table> 标签。有什么提示吗?代码示例?
function generate_table() {
// get the reference for the body
var body = document.getElementsByTagName('body')[0];
// creates a <table> element and a <tbody> element
var tbl = document.createElement('table');
var tblBody = document.createElement('tbody');
// creating all cells
for (var i = 0; i < 1; i++) {
var seqnumber = 1;
var seq = +1;
// creates a table row
var row2 = document.createElement('tr');
//====== table first row data =======//
var seq = document.createElement('td');
var seqText = document.createTextNode('Seq');
var l = document.createElement('td');
var seqText1 = document.createElement('input');
//===== seq generator =====//
seq.appendChild(seqText);
row2.appendChild(seq);
l.appendChild(seqText1);
row2.appendChild(l);
// add the row to the end of the table body
tblBody.appendChild(row2);
}
// put the <tbody> in the <table>
tbl.appendChild(tblBody);
// appends <table> into <body>
body.appendChild(tbl);
// sets the border attribute of tbl to 2;
tbl.setAttribute('border', '2');
}
td,
th {
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
}
<h3> TABLE FROM JAVA SCRIPT</h3>
<input type="button" value="Generate a table." onclick="generate_table()" />
<h3> TABLE FROM HTML</h3>
<table id="table6">
<tr>
<th colspan="2">Aggregator</th>
</tr>
<tr>
<th> Column Name </th>
<th> Function </th>
</tr>
<tr>
<td> <input> </td>
<td> <input> </td>
</tr>
</table>
<input type="button" value="Generate same table from HTML." />
JSfiddle 链接:->https://jsfiddle.net/shreekantbatale2/evqsuxm8/5/
【问题讨论】:
-
长码没什么问题。 Howeber,如果你愿意用性能换取代码大小,你应该去Code Golf SE。
-
@D.Pardal 感谢先生,但我想从 HTML 重新生成同一张表! HTML javascript 代码组合就好了!
-
你应该用 jQuery 试试。只需 $(`
') 并附加到某个地方就更容易了
-
@Edig 如果我有多个表,我只需要重新生成一些表怎么办
-
@ShreeBatale 您可以在 json 文件或类似文件中创建模板并加载它,然后根据需要创建。例如 $('.table).append(template.header)。如果您需要复制没有模板的现有文件。您需要根据某个类或您可以检测到的东西来检测要重新生成的内容
标签: javascript html jquery dom