黑马程序员技术交流社区
标题:
毕向东Web基础27视频一问题求解
[打印本页]
作者:
刘凯
时间:
2013-5-2 18:28
标题:
毕向东Web基础27视频一问题求解
本帖最后由 刘凯 于 2013-5-2 18:31 编辑
毕向东Web基础27视频DHTML示例的 22分钟时删除行的一个问题 如下:
function delRow()
{
var bxNodes=document.getElementsByName("termbx");
/* 自己的一个思路,但是会出BUG 不解
var trNum=bxNodes.length;
for(var x=0;x<trNum;x++)
{
if(bxNodes[x].checked) 报错 这一行的checked属性未定义
{
var trNode = bxNodes[x].parentNode.parentNode;
trNode.parentNode.removeChild(trNode);
}
}
trColor();
会出BUG 为什么?
*/
var arr = new Array();
var pos=0;
for(var x=0;x<bxNodes.length;x++)
if(bxNodes[x].checked)
arr[pos++]=bxNodes[x].parentNode.parentNode;
for(var x=0;x<arr.length;x++)
{
var trNode=arr[x];
trNode.parentNode.removeChild(trNode);
}
trColor();
}
复制代码
自己考虑的一个问题,先把没删除之前的行的数目记录到
trNum,然后在for循环中用
trNum来代替
bxNodes.length 从而保证想"x<"后边的这个数是个常量,不会改变,进而去删除符合条件的行。 我感觉这个思路应该是没有问题的 而且
trNum始终保持不变已经确定, 但不知道为什么这样做就会报错,如上所示 求大神解答
作者:
曹睿翔
时间:
2013-5-4 06:51
我刚看到一半javaScript
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2