我有一个由外部软件自动生成的表(我必须使用它并且不知道它是如何工作的)。
我正在尝试使用datafld == "n0"
将15HS01 15F24:HS632401.COUT
中的任何项目更改为15F24
到// Get all the tables in the document.
var doc_tables = document.all.tags("TABLE");
for (ii = 0; ii < doc_tables.length; ii++ )
{
// Process each table.
FireZone( doc_tables(ii).id)
}
// Access the data table object ( use the dataFld string )
function FireZone( tableID )
{
// Get the 'specified' table object.
var table = eval("document.all." + tableID);
// Skip the header rows and get to the data rows in table
var nHeadRows = table.rows.length - table.all.tags("TBODY").length;
// Iterate all rows in table....
if( table.rows.length > 0 )
{
table
for (i=nHeadRows; i < table.rows.length; i++ )
{
table(i).width = 1200;
// Iterate all cells in each row -
for (j=0; j < table.rows(i).cells.length; j++)
{
// Locate cells by "dataFld" - interested in "n0" binding
// Get the Cell value
for (k=0; k < table.rows(i).cells(j).children.length; k++)
{
if( table.rows(i).cells(j).children[k].dataFld == "n0" )
{
var value = table.rows(i).cells(j).children[k].innerText;
if (value.search("15F") != -1)
{
table.rows(i).cells(j).children[k].innerText = value.substr(value.search("15F",5));
}
}
}
}
}
}
}
。
我正在尝试使用此代码:
<TBODY>
<TR>
<TD style="FONT-FAMILY: Georgia, serif; COLOR: white" noWrap><SPAN dataFld=t0>9/16/2016 11:33:51 AM</SPAN></TD>
<TD style="FONT-FAMILY: Georgia, serif; COLOR: white"><SPAN dataFld=n0>15HS01 15F24:HS632401.COUT</SPAN></TD>
<TD style="FONT-FAMILY: Georgia, serif; COLOR: white" noWrap><SPAN dataFld=v0>0</SPAN></TD></TR></TBODY>
但由于某种原因,这段代码似乎没有做任何事情,但也没有抛出错误。
每行对应的HTML块如下所示:
chapter
脚本肯定在运行,所以任何帮助都会受到赞赏。
答案 0 :(得分:0)
希望这有助于开始,我在您的代码中发现了一些javascript错误
// Get all the tables in the document.
var doc_tables = document.querySelectorAll("TABLE");
for (ii = 0; ii < doc_tables.length; ii++ )
{
console.log(doc_tables[ii].getAttribute("id"))
// Process each table.
FireZone( doc_tables[ii])
}
// Access the data table object ( use the dataFld string )
function FireZone( table )
{
// Get the 'specified' table object.
var table = eval(table);
var tds = table.querySelectorAll("td");
// Iterate all rows in table....
if( tds.length > 0 )
{
for (i=0; i < tds.length; i++ )
{
var value = tds[i].innerText;
if (value.indexOf("15F") != -1)
{
var newValue = value.substr(value.indexOf("15F"),5);
console.log(newValue);
tds[i].innerText = value.substr(value.indexOf("15F",5));
}
}
}
}
&#13;
td {color:#000}
&#13;
<table border="1">
<TBODY>
<TR>
<TD style="FONT-FAMILY: Georgia, serif; COLOR: white" noWrap><SPAN dataFld=t0>9/16/2016 11:33:51 AM</SPAN></TD>
<TD style="FONT-FAMILY: Georgia, serif; COLOR: white"><SPAN dataFld=n0>15HS01 15F24:HS632401.COUT</SPAN></TD>
<TD style="FONT-FAMILY: Georgia, serif; COLOR: white" noWrap><SPAN dataFld=v0>0</SPAN></TD></TR></TBODY>
</table>
&#13;