首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

为什么TABLE通过 DATASRC 绑定一个XML 文件后,无法删除TABLE 中的TR 对象?解决办法

2012-02-24 
为什么TABLE通过 DATASRC 绑定一个XML 文件后,无法删除TABLE 中的TR 对象???为什么TABLE通过DATASRC绑定一

为什么TABLE通过 DATASRC 绑定一个XML 文件后,无法删除TABLE 中的TR 对象???
为什么TABLE通过   DATASRC   绑定一个XML后,无法删除TABLE   中的TR   对象?
请高手解释一下!!!
整个HTML   文件如下:
<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN ">
<xml   id= 'globalDoc '   >
<root>
<info>
<id> 882 </id>
<datepart> 07071 </datepart>
<firstNumber> 9 </firstNumber>
<secondNumber> 8 </secondNumber>
<thirdNumber> 4 </thirdNumber>
<fullNumber> 984 </fullNumber>
<totalNumber> 21 </totalNumber>
</info>
<info>
<id> 881 </id>
<datepart> 07070 </datepart>
<firstNumber> 4 </firstNumber>
<secondNumber> 4 </secondNumber>
<thirdNumber> 1 </thirdNumber>
<fullNumber> 441 </fullNumber>
<totalNumber> 9 </totalNumber>
</info>
</root>
</xml>
<HTML>
<HEAD>
<TITLE>   New   Document   </TITLE>
<script>
function   fnClearTable()
{
var   table   =   document.getElementById( "tableOne ");
try
{
for(var   i=table.rows.length-1;i> =1;i--)
{
table.deleteRow(i);
}
}catch(e)
{
alert(e.name+e.message);
}
}
</script>
</HEAD>
<BODY>
<table   width= "100% "   datasrc= '#globalDoc '     id= 'tableOne '     border= "0 "   cellpadding= "3 "   cellspacing= "1 "   bgcolor= "DDDEC8 ">
                <thead   align= "middle "   bgcolor= "FAFAF1 ">
                    <th> <div   align= "center "> 期数 </div> </th>
                    <th> <div   align= "center "> 号码 </div> </th>
    <th> <div   align= "center "> 和数 </div> </th>
                </thead>
<tbody>
<tr>
<td> <div   align= "center "   dataFld= 'datepart '> </td>
<td> <div   align= "center "   dataFld= 'fullNumber '> </td>
<td> <div   align= "center "   dataFld= 'totalNumber '> </td>
</tr>
</tbody>
        </table>
</BODY>
</HTML>
<script>
fnClearTable();
</script>



[解决办法]
<script>
function fnClearTable()
{
var table = document.getElementById( "tableOne ");
try
{
for(var i=table.rows.length-1;i> =1;i--)
{
table.rows[i].removeNode(true);
}
}catch(e)
{
alert(e.name+e.message);
}
}
</script>

[解决办法]
个人认为deleteRow应该是要把这个对象删除掉,对象可能已经不存在与文档对象中了,因为这个方法没有返回值。


removeNode是把这个对象移除,但是这个对象还是存在的,这个方法有返回值,返回的就是移除的对象。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN ">
<xml id= 'globalDoc ' >
<root>
<info>
<id> 882 </id>
<datepart> 07071 </datepart>
<firstNumber> 9 </firstNumber>
<secondNumber> 8 </secondNumber>
<thirdNumber> 4 </thirdNumber>
<fullNumber> 984 </fullNumber>
<totalNumber> 21 </totalNumber>
</info>
<info>
<id> 881 </id>
<datepart> 07070 </datepart>
<firstNumber> 4 </firstNumber>
<secondNumber> 4 </secondNumber>
<thirdNumber> 1 </thirdNumber>
<fullNumber> 441 </fullNumber>
<totalNumber> 9 </totalNumber>
</info>
</root>
</xml>
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script>
function fnClearTable()
{
var table = document.getElementById( "tableOne ");
for(var i = table.rows.length - 1; i > = 1; i--)
{
//table.deleteRow(i);
trt = table.rows[i].removeNode(true);//alert(trt);
}
}
</script>
</HEAD>
<BODY onload= "fnClearTable() ">
<table width= "100% " datasrc= '#globalDoc ' id= 'tableOne ' border= "0 " cellpadding= "3 " cellspacing= "1 " bgcolor= "DDDEC8 ">
<thead align= "middle " bgcolor= "FAFAF1 ">
<th> <div align= "center "> 期数 </div> </th>
<th> <div align= "center "> 号码 </div> </th>
<th> <div align= "center "> 和数 </div> </th>
</thead>
<tbody>
<tr>
<td> <div align= "center " dataFld= 'datepart '> </td>
<td> <div align= "center " dataFld= 'fullNumber '> </td>
<td> <div align= "center " dataFld= 'totalNumber '> </td>
</tr>
</tbody>
</table>
</BODY>
</HTML>
<script>
//fnClearTable();
</script>
看看这样改后的现象。上面删除正常应该是因为table正在加载数据,但是数据被移除了,所以,就什么数据也加载不到了。

热点排行