日期:2014-05-16  浏览次数:20530 次

parentNode在IE中怎么为空?
为了得到所点击的的单元格的位置
我调用了var row = this.parentNode.rowIndex; 这些火狐和chrome都可以,但是在IE中就显示this.parentNode.rowIndex' 为空或不是对象
上网查了资料,说是

当html中节点缺失时,IE和火狐对parentNode的解释不同,例如
<form>
<table>
<input/>
</table>
</form>
火狐中input.parentNode的值为form, 而IE中input.parentNode的值为空节点”
上面这个例子哪里有节点缺失?为什么this.parentNode.rowIndex' 为空或不是对象 ,请多多指教
javascript

------解决方案--------------------
<!DOCTYPE HTML>
<html>
<head>
<meta charset="gbk" />
<title></title>
<style>

</style>
</head>
<body>
<form>
<table>
<tr>
<td></td>
<td><input onclick="test(this)" /></td>
<td><input onclick="test(this)" /></td>
</tr>
<tr>
<td></td>
<td><input onclick="test(this)" /></td>
<td><input onclick="test(this)" /></td>
</tr>
</table>
</form>
<script>
var test = function(t){
alert( t.parentNode.parentNode.rowIndex )
};
</script>
</body>
</html>



dom 要完整
------解决方案--------------------
DOM是完整但是乱嵌套了,这样浏览器解析成什么用开发人员工具看DOM结构就知道了