Javascript t

Javascript t,javascript,html,html-table,Javascript,Html,Html Table,因此,如果您想使用DOM标准实现预期结果,可以使用以下方法: var tds = '<td>Data'.repeat(col_cnt), trs = ('<tr>'+tds).repeat(row_cnt), table = '<table>' + trs + '</table>; HTML: 添加一列 添加一行 JS新建: JavaScript得到了改进 (功能(窗口、文档、未定义){ “严

因此,如果您想使用DOM标准实现预期结果,可以使用以下方法:

var
    tds = '<td>Data'.repeat(col_cnt),
    trs = ('<tr>'+tds).repeat(row_cnt),
    table = '<table>' + trs + '</table>;

HTML:

  • 添加一列
  • 添加一行
JS新建:

JavaScript得到了改进

(功能(窗口、文档、未定义){
“严格使用”;
var wrap=document.getElementById(“wrap”),
setColumn=document.getElementById(“列”),
setRow=document.getElementById(“行”),
btnGen=document.getElementById(“btnGen”),
btnCopy=document.getElementById(“btnCopy”);
btnGen.addEventListener(“单击”,生成表);
btnCopy.addEventListener(“单击”,复制到);
函数生成器(e){
var newTable=document.createElement(“表”),
tBody=newTable.createTBody(),
nOfColumns=parseInt(setColumn.value,10),
nOfRows=parseInt(setRow.value,10),
row=生成器OW(nOfColumns);
newTable.createCaption().appendChild(document.createTextNode(“生成的表”);
对于(变量i=0;i

JS old:

(函数(){
“严格使用”;
var wrap=document.getElementById(“wrap”),
setColumn=document.getElementById(“列”),
setRow=document.getElementById(“行”),
btnGen=document.getElementById(“btnGen”),
copy=document.getElementById(“copy”),
nOfColumns=-1,
nOfRows=-1;
btnGen.addEventListener(“单击”,生成表);
copy.addEventListener(“单击”,copyTo);
函数生成器(e){
var newTable=document.createElement(“表”),
caption=newTable.createCaption(),
//tHead=newTable.createTHead(),
//tFoot=newTable.createTFoot(),
tBody=newTable.createTBody();
nOfColumns=parseInt(setColumn.value,10);
nOfRows=parseInt(setRow.value,10);
caption.appendChild(document.createTextNode(“生成的表”);
//附属物(tHead,1);
//附录行(tFoot,1);
附属物(tBody);
(wrap.hasChildNodes()?wrap.replaceChild:wrap.appendChild).call(wrap,newTable,wrap.firstElementChild);
}
函数附加列(远程通讯、计数){
var cell=null,
indexOfRow=[].indexOf.call(tElement.parentNode.rows,tElement)+1,
indexOfColumn=-1;
计数=计数| | nOfColumns;
对于(变量i=0;i
如果您想将生成的结果复制到剪贴板,您可以查看-

的答案,因为
元素是HTML中最复杂的结构之一,HTML DOM提供了一个新的接口,该接口具有特殊的属性和方法,用于操作HTML文档中表格的布局和表示

因此,如果您想使用DOM标准实现预期结果,可以使用以下方法:

var
    tds = '<td>Data'.repeat(col_cnt),
    trs = ('<tr>'+tds).repeat(row_cnt),
    table = '<table>' + trs + '</table>;

HTML:

  • 添加一列
  • 添加一行
JS新建:

JavaScript得到了改进

(功能(窗口、文档、未定义){
“严格使用”;
var wrap=document.getElementById(“wrap”),
setColumn=document.getElementById(“列”),
setRow=document.getElementById(“行”),
btnGen=document.getElementById(“btnGen”),
btnCopy=document.getElementById(“btnCopy”);
btnGen.addEventListener(“单击”,生成表);
btnCopy.addEventListener(“单击”,复制到);
函数生成器(e){
var newTable=document.createElement(“表”),
tBody=newTable.createTBody(),
nOfColumns=parseInt(setColumn.value,10),
nOfRows=parseInt(setRow.value,10),
row=生成器OW(nOfColumns);
newTable.createCaption().appendChild(document.createTextNode(“生成的表”);
对于(变量i=0;i

JS旧版
var
    tds = '<td>Data'.repeat(col_cnt),
    trs = ('<tr>'+tds).repeat(row_cnt),
    table = '<table>' + trs + '</table>;
document.getElementById('tablePreviewArea').innerHTML = table;
$('#tablePreviewArea').html(table);
String.prototype.repeat = function( num )
{
    return new Array( num + 1 ).join( this );
}
<ul>
    <li>
        <label for="column">Add a Column</label>
        <input type="number" id="column" />
    </li>
    <li>
        <label for="row">Add a Row</label>
        <input type="number" id="row" />
    </li>
    <li>
        <input type="button" value="Generate" id="btnGen" />
        <input type="button" value="Copy to Clipboard" id="copy" />
    </li>
</ul>
<div id="wrap"></div>