Javascript 创建长度为<;的.row.cells行;tr>;
您好,我想创建一个脚本,该脚本接受它找到的(tr)数量,然后创建这3行代码,但根据它得到的(tr)数量更改其中的代码数量。下面是一个示例: 我有一行代码,用于计算表中的表行(按下按钮后)减去表头(th): 我想做的是,例如,我得到的数字是3,我想复制这3行代码,并更改变量和其中的数字 下面是我要复制的3行代码:Javascript 创建长度为<;的.row.cells行;tr>;,javascript,jquery,html,css,jquery-ui,Javascript,Jquery,Html,Css,Jquery Ui,您好,我想创建一个脚本,该脚本接受它找到的(tr)数量,然后创建这3行代码,但根据它得到的(tr)数量更改其中的代码数量。下面是一个示例: 我有一行代码,用于计算表中的表行(按下按钮后)减去表头(th): 我想做的是,例如,我得到的数字是3,我想复制这3行代码,并更改变量和其中的数字 下面是我要复制的3行代码: table = document.getElementById("items-table"); var cell1 = table.rows[1].cells[0].innerHTML;
table = document.getElementById("items-table");
var cell1 = table.rows[1].cells[0].innerHTML;
var cell2 = table.rows[1].cells[1].innerHTML;
var cell3 = table.rows[1].cells[2].innerHTML;
我想改变的是变量,这样我可以在以后定义它,如果我得到3,这就是我想要的输出:
var cell1 = table.rows[1].cells[0].innerHTML;
var cell2 = table.rows[1].cells[1].innerHTML;
var cell3 = table.rows[1].cells[2].innerHTML;
var cell4 = table.rows[2].cells[0].innerHTML;
var cell5 = table.rows[2].cells[1].innerHTML;
var cell6 = table.rows[2].cells[2].innerHTML;
var cell7 = table.rows[3].cells[0].innerHTML;
var cell8 = table.rows[3].cells[1].innerHTML;
var cell9 = table.rows[3].cells[2].innerHTML;
我该怎么做呢?我还想创建一个可以像这样表示所有var单元格的变量
tableData = [] tableData.append(var cell7 = etc..)
这样,我就可以使用tableData并:
localStorage.setItem("tableData", tableData);
然后我可以在另一个html文件中调用这个表数据变量。
我还希望本地存储变量行本身,以便可以单独调用它们
localStorage.setItem("item-name-1", cell1);
我该怎么做呢
重要提示:在我的html页面的开头,表是空的。然后,我使用几个输入和一个add按钮附加数据
非常感谢您的帮助。您正在寻找阵列,在您的情况下,可能需要阵列阵列:
let cells = Array.prototype.map.call(document.getElementById("items-table").rows, row => {
return Array.prototype.map.call(row.cells, cell => cell.innerHTML);
});
实例:
let cells=Array.prototype.map.call(document.getElementById(“items表”)。行,行=>{
返回Array.prototype.map.call(row.cells,cell=>cell.innerHTML);
});
日志(“单元格:”,单元格)代码>
。作为控制台包装器{
最大高度:100%!重要;
}
第1行第1单元
第1行第2单元
第1行第3单元
第2行第1单元
第2行第2单元
第2行第3单元
第3行第1单元
第3行第2单元
第3行第3单元
第4行第1单元
第4行第2单元
第4行第3单元
将变量与数组一起使用:
var table, cell, i, r, noofrows;
table = document.getElementById("items-table");
noofrows = table.rows.length;
for (i = 0, r = 0, cell = []; r < noofrows; i++, r++) {
cell[i] = table.rows[r].cells[0].innerHTML;
cell[i+1] = table.rows[r].cells[1].innerHTML;
cell[i+2] = table.rows[r].cells[2].innerHTML;
}
var表、单元格、i、r、noofrows;
table=document.getElementById(“项目表”);
noofrows=table.rows.length;
for(i=0,r=0,cell=[];r
然后,第一个单元格将被分配给变量单元格[0]
,第二个单元格将被分配给单元格[1]
,等等。例如,document.write(单元格[0])
将写入“Item”(来自上一个问题)
document.write(单元格[1])
将写入“大小”
document.write(单元格[3])
将写入第2行的第一个单元格。您的脚本基本上是做什么的,因为我看您根本没有提到rowCount@t.J。Crowder@MaxymWojnowskyj-无需,map
(或Array.from
)查看行的长度(以及一行中的单元格)。是否应该“[]”
为[]
分配空数组?@MarkBaijens-否,它位于JSON.parse的参数内。您可以执行JSON.parse(localStorage.getItem(“tableData”)| |“[])
或JSON.parse(localStorage.getItem(“tableData”)| |[])
。后者依赖于一些隐含的东西:当项目不存在时,getItem
返回null
,并将null
传递到JSON中。parse
导致它被强制为“null”
,然后被解析为null
:-)我反复讨论是在JSON.parse
参数中还是在其结果中执行默认值。对不起,我看错了。现在还早。我认为它在解析函数之外。当我尝试运行代码时,我发现无法读取undefinedI的属性'length',然后更改了noofrows=$('#items table tr')。length然后我得到了无法读取undefined的属性'0',for cell[I]=table.rows[r]。cells[0]。innerHTML@我可以通过电子邮件发送我的全部代码吗?这样你就能明白为什么它不起作用了@InteltaIs表ID仍然是“items table”?正在执行-
var table, cell, i, r, noofrows;
table = document.getElementById("items-table");
noofrows = table.rows.length;
for (i = 0, r = 0, cell = []; r < noofrows; i++, r++) {
cell[i] = table.rows[r].cells[0].innerHTML;
cell[i+1] = table.rows[r].cells[1].innerHTML;
cell[i+2] = table.rows[r].cells[2].innerHTML;
}