我正在創建一個使用javascript的表格,它將動態輸入單元格值,並使用一個複雜的公式計算單元格寬度,最後以百分比形式顯示。 現在我無法根據我從計算中獲得的寬度在javascript中設置單元格寬度。 從更廣泛的意義上講,每行可能有不同寬度的列,當然每行的列數也不同。 如何破解這個邏輯?!如何改變運行時計算在javascript中的單元格寬度?
它可能看起來像這樣... [請查看該圖像:http://i.stack.imgur.com/lA4q1.jpg
我正在創建一個使用javascript的表格,它將動態輸入單元格值,並使用一個複雜的公式計算單元格寬度,最後以百分比形式顯示。 現在我無法根據我從計算中獲得的寬度在javascript中設置單元格寬度。 從更廣泛的意義上講,每行可能有不同寬度的列,當然每行的列數也不同。 如何破解這個邏輯?!如何改變運行時計算在javascript中的單元格寬度?
它可能看起來像這樣... [請查看該圖像:http://i.stack.imgur.com/lA4q1.jpg
變種TDS = document.getElementsByTagName( 'TD');
for(var i = 0; i < tds.length; i ++) tds [i] .style.width ='2px';
這不允許在同一列中使用可變寬度的單元格()。 – argo49
你可以使用一個表元素的每一行,並設置根據您的計算結果使用JavaScript的TD寬度CSS屬性:
<table id="row1">
<tr>
<td>a</td>
<td>b</td>
</tr>
</table>
<table id="row2">
<tr>
<td>c</td>
<td>d</td>
</tr>
</table>
和Javascript:
var cells = document.getElementsByTagName('td');
var calculatedWidths = [25, 100, 100, 25];
for(var i = 0; i < cells.length; i++){
cells[i].style.width = calculatedWidths[i] + "px";
}
看到這個jsFiddle 。
px和百分比coz之間的區別是什麼最終對齊只會在發生100%填充時纔會發生 – user3022690
還有一點需要補充的是,你已經提到td只有一行的寬度,但連續的行將會有不同的td widhths ... – user3022690
px是測量單位。百分比基於其父元素的寬度。我不明白你的第二個評論。您可以使用此方法爲任何單元格設置td寬度。 – argo49
使用單元寬度是不可能實現的。這隻能通過colspan來實現。 – SaidbakR