更改DOM表中的文本

时间:2016-09-19 12:24:00

标签: javascript html

我有一个由外部软件自动生成的表(我必须使用它并且不知道它是如何工作的)。

我正在尝试使用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

脚本肯定在运行,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

希望这有助于开始,我在您的代码中发现了一些javascript错误

&#13;
&#13;
// 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;
&#13;
&#13;