Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 读取合并单元格的HTML表格,行对行,列对列_Javascript_Dom_Html Table - Fatal编程技术网

Javascript 读取合并单元格的HTML表格,行对行,列对列

Javascript 读取合并单元格的HTML表格,行对行,列对列,javascript,dom,html-table,Javascript,Dom,Html Table,我有一张这样的桌子: 表格{ 边界塌陷:塌陷; } td,th{ 边框:1px纯黑; 宽度:3em; 高度:3em; 文本对齐:居中; } .拐角处{ 边界:无; } ABCD 1A1:A3B1C1D1 2B2C2D2 3B3C3D3 4A4B4C4D4 5A5:A6B5C5:D6 6B6 colspan和行span属性仅以行.单元格和表.行的迭代顺序排列。因此,我们可以使用正在构造的数组来填充行中的第一个可用空间 如果表格格式不正确,且缺少或多余单元格,则此方法不会使用空值填充数组 函

我有一张这样的桌子:

表格{
边界塌陷:塌陷;
}
td,th{
边框:1px纯黑;
宽度:3em;
高度:3em;
文本对齐:居中;
}
.拐角处{
边界:无;
}

ABCD
1A1:A3B1C1D1
2B2C2D2
3B3C3D3
4A4B4C4D4
5A5:A6B5C5:D6
6B6

colspan和
行span
属性仅以
行.单元格和
表.行
的迭代顺序排列。因此,我们可以使用正在构造的数组来填充行中的第一个可用空间

如果表格格式不正确,且缺少或多余单元格,则此方法不会使用空值填充数组

函数getTableSlots(表){
常量插槽=[]
for(表的常量行。行){
for(行单元格的常量单元格){
设x=cell.cellIndex,y=row.rowIndex
而(插槽[y]&插槽[y][x])x++
对于(设dx=0;dx=slots.length)slots.push([])则
插槽[y+dy][x+dx]=单元
}
}
}
}
返回槽
}
const slots=getTableSlots(document.querySelector(“表”))
//代码段控制台的格式
console.log(`[
${slots.map(行=>{
返回JSON.stringify(row.map(cell=>cell.textContent.padEnd(5)))
}).join(“,\n”)}
]`)
//真正的安慰
console.log(插槽)
表格{
边界塌陷:塌陷;
}
td,th{
边框:1px纯黑;
宽度:3em;
高度:3em;
文本对齐:居中;
}
.拐角处{
边界:无;
}

ABCD
1A1:A3B1C1D1
2B2C2D2
3B3C3D3
4A4B4C4D4
5A5:A6B5C5:D6
6B6