Javascript For-Loop之后什么也没发生
Nothing Happens after Javascript For-Loop
我在Javascript中有一个执行完美的for循环,但是在for
循环的}
结束后没有任何东西执行,例如alert("before");
或addListener()
函数!
function deleteRow(rowNum){
var tablelinks = document.getElementById("table1").rows.length;
//deletes that row number called
document.getElementById("table1").deleteRow(rowNum);
//reorders the row numbers in the delete links to reflect their new position
for(var i = 0; i < tablelinks; i++) {
document.getElementById("table1").rows[i].cells[8].innerHTML = '<a href="#" onclick="deleteRow(' + i + ')">Del</a>';
}
//these things below do not work
alert("before");
addListener()
alert("after");
sumrows()
}
因为您在删除目标行之前正在读取行长度
function deleteRow(rowNum) {
document.getElementById("table1").deleteRow(rowNum); //deletes that row number called
var tablelinks = document.getElementById("table1").rows.length;
for (var i = 0; i < tablelinks; i++) { //reorders the row numbers in the delete links to reflect their new position
document.getElementById("table1").rows[i].cells[8].innerHTML = '<a href="#" onclick="deleteRow(' + i + ')">Del</a>';
}
alert("before");
addListener()
alert("after");
sumrows()
}
演示:小提琴
假设你有5行,你要删除第3行,然后tablelinks
变成5,但在下一行你要删除第3行,现在你只有4行。现在,当在循环中i
变为4时,document.getElementById("table1").rows[i]
语句将返回undefined,因为rows
只有4个元素而不是5个。
通过传递链接引用而不是行号给delete方法(如
),可以进一步简化它<td><a href="#" onclick="deleteRow(this)">Del</a></td>
然后function deleteRow(link) {
document.getElementById("table1").deleteRow(link.parentNode.parentNode.rowIndex); //deletes that row number called
alert("before");
addListener()
alert("after");
sumrows()
}
演示:小提琴
相关文章:
- jQuery setTimeOut: in for-loop
- javascript/angularjs 将 String 与 number for loop 连接起来
- JavaScript for loop
- Native/$q Javascript For Loop Promise Resolve
- Javascript / Openlayers for loop不起作用
- for loop inside another for loop javascript (jquery)
- Json "for" loop
- 如何使用$q promise同步执行FOR LOOP
- JavaScript for loop "document.getElementById"
- Javascript Generic For Loop
- JavaScript For Loop - 执行终止条件
- 在 for loop JavaScript 中添加数字
- New to Javascript - For Loop
- MongoDB For Loop更新错误的用户
- javascript for loop won't iterate
- Javascript for loop产生意想不到的结果
- for loop, Math.random() 不按预期运行
- Javascript:for loop获取数据,但顺序被破坏了
- 这个 JavaScript for loop 有什么问题?是定义条件的第二条语句吗?
- Javascript For-Loop之后什么也没发生