TM.*_*TM. 6 html javascript css html-table
有没有一种快速的方法(使用CSS或Javascript)将表TD转换为TR,目前我有:
A B C D
1 2 3 4
Run Code Online (Sandbox Code Playgroud)
我想翻译成:
A 1
B 2
C 3
D 4
Run Code Online (Sandbox Code Playgroud)
??
您想要将HTML排列如下:
<tr><td>A</td><td>B</td><td>C</td><td>D</td></tr>
<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
Run Code Online (Sandbox Code Playgroud)
进入:
<tr><td>A</td><td>1</td></tr>
<tr><td>B</td><td>2</td></tr>
<tr><td>C</td><td>3</td></tr>
<tr><td>D</td><td>4</td></tr>
Run Code Online (Sandbox Code Playgroud)
正确?
您可以使用Javascript执行此操作,但是,如果不了解您的网站/ HTML文件的结构,很难建议一种方法.我会试一试.
假设你的<table>标签带有一个id(就像这样:<table id="myTable">你可以在这样的javascript中访问它:
var myTable = document.getElementById('myTable');
Run Code Online (Sandbox Code Playgroud)
您可以像这样创建一个新表:
var newTable = document.createElement('table');
Run Code Online (Sandbox Code Playgroud)
现在,您需要将旧表行转置到新表列中:
var maxColumns = 0;
// Find the max number of columns
for(var r = 0; r < myTable.rows.length; r++) {
if(myTable.rows[r].cells.length > maxColumns) {
maxColumns = myTable.rows[r].cells.length;
}
}
for(var c = 0; c < maxColumns; c++) {
newTable.insertRow(c);
for(var r = 0; r < myTable.rows.length; r++) {
if(myTable.rows[r].length <= c) {
newTable.rows[c].insertCell(r);
newTable.rows[c].cells[r] = '-';
}
else {
newTable.rows[c].insertCell(r);
newTable.rows[c].cells[r] = myTable.rows[r].cells[c].innerHTML;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这应该做你需要的.预先警告:未经测试.将此javascript代码工作到HTML页面留给读者练习.如果有人发现我错过的任何错误,如果你指出它们或者只是编辑修复我会感到欣慰:)
| 归档时间: |
|
| 查看次数: |
12695 次 |
| 最近记录: |