0
沒關係。這是我的錯誤。此代碼工作正常。設置動態生成表的ID時遇到問題
我有一個應該創建和填充表的函數。我也試圖設置一些列的id元素,但我有的功能不工作,我似乎無法弄清楚爲什麼。
這是我的代碼:
HTML:
<div id="result_table">
<table border="0" cellspacing="3" cellpadding="3" id="summaryTable" class="tablesorter table table-striped">
<thead>
<tr style="font-weight: bold; text-align: center;">
<th>Well ID</th>
<th>Dominant Gene</th>
<th>%</th>
<th>Secondary Gene</th>
<th>%</th>
<th>No. of Reads that Mapped</th>
<th>No. of Mutations</th>
<th>Mutation Information</th>
<th>View</th>
</tr>
</thead>
<tbody id="summaryBody">
</tbody>
</table>
</div>
的Javascript:
function structureTable(test){
if (kiloseqResult==null){
throw "Error: no databse defined"
};
document.getElementById("summaryTable").style.visibility="visible";
kiloseqDatabase = JSON.parse(kiloseqResult);
var table = document.getElementById("summaryBody");
for (i=0;i<kiloseqDatabase.length;i++){
var row = table.insertRow(i);
var kiloseqKeys = Object.keys(kiloseqDatabase[i])
var keyLength = Object.keys(kiloseqDatabase[i]).length;
// Painstakingly setting up the cells...
var cell = row.insertCell(0);
cell.innerHTML = kiloseqDatabase[i]['id']
var cell = row.insertCell(1);
cell.innerHTML = kiloseqDatabase[i]['gene1'].substr(5)
var cell = row.insertCell(2);
cell.innerHTML = parseFloat(kiloseqDatabase[i]['percent1']).toFixed(2)
var cell = row.insertCell(3);
if (kiloseqDatabase[i]['gene2']=="None"){
cell.innerHTML = "None"
} else {
cell.innerHTML = kiloseqDatabase[i]['gene2'].substr(5)
}
var cell = row.insertCell(4);
cell.innerHTML = parseFloat(kiloseqDatabase[i]['percent2']).toFixed(2)
var cell = row.insertCell(5);
cell.innerHTML = kiloseqDatabase[i]['count']
var cell = row.insertCell(6);
cell.innerHTML = ""
var cell = row.insertCell(7);
cell.innerHTML = ""
var cell = row.insertCell(8);
cell.innerHTML = ""
};
$(document).ready(function()
{
$("#summaryTable").tablesorter(
{sortList: [[0,0], [1,0]]}
);
}
);
for (i=0;i<kiloseqDatabase.length;i++){
document.getElementById("summaryBody").rows[i].cells[6].id = "test";
};
};
kiloseqResult是檢查是否kiloseqDatabase填充的變量。 kilqqDatabase包含應該填充表的信息。
奇怪的是,設置ID的for循環(是的,我試過在第一個for循環中嘗試包括這個,但當它沒有工作時試圖分解它)在我運行時很好我的Chrome控制檯。但它似乎並沒有在這個功能中起作用。
任何幫助將不勝感激。謝謝!
這看起來似乎不起作用。我也想知道爲什麼我無法設置.id元素,當我可以設置.innerHTML時,即使它不在document.ready – Gina 2014-11-04 18:39:42
什麼是不工作? ID分配或選擇器?嘗試(在for循環中)$(「#summaryBody」)。rows [i] .cells [6] .prop(「id」,「test」+ i.toString()); – 2014-11-04 18:59:57
Eep。這是我的錯誤 - 事實證明我一直在加載錯誤的文件。我原來的代碼(以及你的建議)都很好。謝謝你,給你造成的不便深表歉意! – Gina 2014-11-04 19:03:17