<!DOCTYPE html><html><head><title>test</title> <meta http-equiv="Content-Type" content="text/html; charset=gbk"/><script type="text/javascript">function deleteRow(r) { var i=r.parentNode.parentNode.rowIndex; document.getElementById('myTable').deleteRow(i); document.getElementById("in").value=i; }</script></head><body><table id="myTable" border="1"><tr> <td>Row 1</td> <td><input type="button" value="删除" onclick="deleteRow(this)"></td></tr><tr> <td>Row 2</td> <td><input type="button" value="删除" onclick="deleteRow(this)"></td></tr><tr> <td>Row 3</td> <td><input type="button" value="删除" onclick="deleteRow(this)"></td></tr></table><input type="text" id="in"></body></html>方法中var i=r.parentNode.parentNode.rowIndex;为什么i可以得到r对应行的序号,和rowIndex的实现机制有关么?r.parentNode.parentNode得到的是table节点,table节点的rowIndex得到的是什么?
1 回答
已采纳
李晓健
TA贡献1036条经验 获得超461个赞
r.parentNode.parentNode 得到的是tr tr有一个属性是 rowIndex
r.parentNode.parentNode.parentNode 得到的是tbody tbody没有rowIndex属性
r.parentNode.parentNode.parentNode.parentNode 得到的是table table也没有rowIndex属性
没有的属性去取值就会得到 undefined
添加回答
举报
0/150
提交
取消