我正在嘗試使一些列的可讀性以及模式識別跨度。我也在改變單元格的背景顏色來顯示模式。如果我的數組中的數據爲空,則使用紅色。如果它不爲零並且跨越至少2列,則爲藍色,否則爲灰色。我發現我的一些專欄比他們應該更寬,有些更短。有了我的數據,第一列是唯一太寬的,而最後一列是唯一太短的。據我所知,但他們的顏色是正確的。我可以給出示例代碼,但不是示例數據,因爲它是高度機密的。我可以給代碼,並且會。爲什麼我的一些專欄較寬,而其他專欄比我預期的要短?使用Javascript表colspan時出現問題
function loadTable() {
var fields = JSON.parse(localStorage.getItem("boxFields"));
var report = JSON.parse(localStorage.getItem("boxReport"));
var space = document.getElementById("batchReport");
var baseList = document.createElement("ul");
space.appendChild(baseList);
for (var i = 0; i < fields.length; i++) {
var li = document.createElement("li");
baseList.appendChild(li);
var header = document.createElement("h2");
header.textContent = fields[i] + ":";
li.appendChild(header);
if (report.length > 0) {
var table = document.createElement("table");
table.className += "wide";
li.appendChild(table);
var tr = document.createElement("tr");
table.appendChild(tr);
var td = document.createElement("td");
td.colSpan = report.length;
tr.appendChild(td);
tr = document.createElement("tr");
table.appendChild(tr);
var compare = "NeverEqual";
var count = 0;
td = null;
for (var j = 0; j < report.length; j++) {
if (compare == report[j][i]) {
count++;
td.colSpan = count;
if (compare != null)
td.style.backgroundColor = "#336";
} else {
count = 1;
compare = report[j][i];
td = document.createElement("td");
tr.appendChild(td);
td.textContent = report[j][i];
//td.colSpan = 1;
if (compare != null)
td.style.backgroundColor = "#333";
else {
td.style.backgroundColor = "#633";
}
}
}
}
}
space.style.height = "93%";
space.style.overflow = "auto";
}
問題是什麼嗎?你已經描述了你在做什麼,但不是問題是什麼。還有一個原因,你使用的表被認爲是相當不贊成與MS網格佈局? – 2013-02-25 14:39:10
編輯有一個明確的問題。至於ms-grid佈局,使用javascript的一個重要原因是跨平臺的。 WinRT/JS中的表格應該沒問題,因爲它聲稱與html5兼容。我甚至認爲,爲了這個目的,我只是在計算錯誤或某種東西,但是我忽略了它並要求額外的一組眼睛。謝謝你的想法。 – rickstockham 2013-02-26 00:11:45