我正在开发一个与TASVideos TAS提交查找器一起使用的代码片段。这段代码将在每个列表条目的开头添加一个"td"标签,这样快速阅读的人(甚至不是这样的人,因为我使用了3个字母代码)可以快速找到TASVideos.org批准的TAS并查看它们,或者任何他们想要的TAS。我想有2种模式(系统和状态)。我正在工作的状态部分,有一个错误。这是我的代码。
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]
中寻找某个值并在列表开头插入一个特殊的"td"标签一样。
可以使用querySelectorAll和parentNode:
var th_list = document.querySelectorAll('.wikitable > tr > th');
th_list[0].parentNode.insertBefore(QuickScrubHeader,th_list[0]);