我正在开发一个与TASVideos TAS submission finder一起使用的代码段。这个片段将添加一个" td"标记到每个列表条目的开头,因此快速阅读的人(甚至是那些不是因为我使用3个字母代码的人)可以快速找到TASVideos.org批准的TAS'和看看他们,或他们想要的任何其他TAS。我想有2种模式(系统和状态)。我正在处理Status部分并出错。这是我的代码。
wikitable = document.getElementsByClassName("wikitable")[0];
wikitableTR = wikitable.getElementsByTagName("tr");
var tr;
QuickScrubHeader = document.createElement("th")
QSHText = document.createTextNode("QuickScrub for TAS Videos")
QuickScrubHeader.appendChild(QSHText)
wikitableTR.getElementsByTagName("th")[0].insertBefore(QuickScrubHeader)
for (var tr in wikitableTR){
delete addend, addendText;
td = tr.getElementsByTagName("td");
addend = document.createElement("td")
if(td[3].innerhtml == "published");{
addendText = document.createTextNode("PUB")
addend.appendChild(addendText)
tr.insertBefore(addend)
}
}
草率的代码块是这样的:
QuickScrubHeader = document.createElement("th")
QSHText = document.createTextNode("QuickScrub for TAS Videos")
QuickScrubHeader.appendChild(QSHText)
wikitableTR.getElementsByTagName("th")[0].insertBefore(QuickScrubHeader)
我想知道如何使草率代码的最后一行工作,以便找到" tr"标记为" th"标记内部,并将我的QuickScrubHeader
元素放在其他元素之前,就像我在td[3]
中查找某个值的for / in循环并插入一个特殊的" td"标记在列表的开头。
答案 0 :(得分:0)
您可以使用querySelectorAll和parentNode:
var th_list = document.querySelectorAll('.wikitable > tr > th');
th_list[0].parentNode.insertBefore(QuickScrubHeader,th_list[0]);