使用Javascript访问/更改表中的信息
我正在使用greasemonkey更改现有网页的功能。。如果你不熟悉greamonkey,那也没关系。。主要信息是现有页面的当前代码如下所示:使用Javascript访问/更改表中的信息,javascript,greasemonkey,Javascript,Greasemonkey,我正在使用greasemonkey更改现有网页的功能。。如果你不熟悉greamonkey,那也没关系。。主要信息是现有页面的当前代码如下所示: <div id="sqlDiv" class="sqlBorderDiv" style="display: none;"> <div class="reportBorderDiv"> <table class="reportTable"> <tbody> &l
<div id="sqlDiv" class="sqlBorderDiv" style="display: none;">
<div class="reportBorderDiv">
<table class="reportTable">
<tbody>
<tr>
<tr class="reportRow1">
<tr class="reportRow2">
<td>55555</td>
<td>Bruce Wayne</td>
<td>12456789123</td>
<td>2013-12-17</td>
<td>Batman</td>
<td>Superhero</td>
<td>Menace</td>
<td>123246</td>
<td>12456</td>
<td>123456</td>
<td></td>
</tr>
</tbody>
</table>
</div>
我想在其上运行一个脚本,该脚本将使用任何reportRow的第一个单元格中的信息使其成为超链接。我正在尝试下面这样的脚本,但出现了一些问题,我不知道是什么。我对javascript非常陌生。谢谢你的建议
var anchor = null;
var container;
var rows;
var cells;
var demoNum;
var linkString = "https://somewebsite.com/";
container = document.getElementById('sq1Div');
rows = container.getElementsByTagName("tr");
for (var i = 0; i < rows.length; i++) {
var className = rows[i].getAttribute("class");
if ( className == "reportRow1" || className == "reportRow2" ) {
anchor = rows[i];
cells = anchor.getElementsByTagName("td");
demoNum = cells[0];
linkString = linkString + demoNum;
cells[0] = <a href = linkString > demoNum </a>;
}
}
问题就在眼前 单元格[0]= 应该是一个字符串,如下所示: 单元格[0]= 要将其放回表的第一行,可以这样做
row[i].childNodes[0].innerHTML=cells[0];
此外,还有document.getElementByIdsq1div,而不是sqlDivdocument.getElementById'sq*1*Div' 不正确的索引,您使用的是数字1而不是字母l
当然,正如所写的带有新链接的scrblnrd3行构建不正确的在我看来,HTML有不匹配的标记,这会不会混淆greasemonkey?您检查过错误控制台吗?它会显示什么错误消息?如何找到错误控制台?您使用的浏览器是什么?打开“工具”>“Web开发人员”>“浏览器控制台”。因此不会显示任何错误即使进行了这些更改,页面上显示的表也不会有任何更改。为了澄清,为什么它必须是一个字符串?否则它将处理oh,这是有意义的所以我做了这两个改变,但仍然不起作用。我也尝试过更改脚本,因此demoNum只更改为000,这也不起作用。第一段代码只是firebug块的一小部分,与我正在处理的部分相关。。它实际上是一个巨大的表,有很多行,所以我只是扩展了其中一行来显示格式。