gpt4 book ai didi

javascript - 为动态生成的表设置 id 时出现问题

转载 作者:行者123 更新时间:2023-12-03 11:30:48 25 4
gpt4 key购买 nike

没关系。这是我的错误。这段代码运行良好。

我有一个应该创建和填充表的函数。我还尝试设置某些列的 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 是否已填充。 kiloseqDatabase 包含应该填充表的信息。

奇怪的是,当我在我的程序中运行它时,设置 ID 的 for 循环(是的,我确实尝试将其包含在第一个 for 循环中,但在不起作用时尝试将其分解)。 Chrome 的控制台。但它似乎在函数内不起作用。

任何帮助将不胜感激。谢谢你!

最佳答案

您是否尝试过将 ID 分配逻辑置于 document.ready 范围内?在渲染之前,您无法为元素分配 ID 或从 DOM 中选择它:

$(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";
};
}
);

关于javascript - 为动态生成的表设置 id 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26742289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com