首页 新闻 会员 周边

关于JavaScript的parentNode的一个问题

0
悬赏园豆:10 [已解决问题] 解决于 2014-09-12 16:56

先贴代码

1 <form action="main.html" name="frm">
2     <input type="button" onclick="javascript:console.log(this);console.log(this.parentNode);this.parentNode.style.background='red'" value="提交" />
3 </form>

在谷歌和FF下都是正常的,表单背景颜色变红色了,但是在ie下this.parentNode成了body对象,为什么ie会这么牛,跳过form直取body!

小振xzh的主页 小振xzh | 初学一级 | 园豆:195
提问于:2014-09-05 16:36
< >
分享
最佳答案
1

在IE下,认为<form>是数据标签,不属于渲染标签。

收获园豆:10
乐享程序员 | 小虾三级 |园豆:930 | 2014-09-05 20:00
其他回答(4)
0

我只能说,与其花这个时间,不与用jquery

悟行 | 园豆:12559 (专家六级) | 2014-09-05 16:47

你错了,与其花时间在这个,不如用document.forms[]

支持(1) 反对(0) 小振xzh | 园豆:195 (初学一级) | 2014-09-05 17:59
0

浏览器的内核引擎不一样  所以解析html 和js的时候 有差别很正常 如果要解决

加浏览器判断 单独对ie 处理

s_p | 园豆:138 (初学一级) | 2014-09-05 17:56
0

想要兼容的最简单办法用jQuery啊, 按照你的方法传值,function getParent(obj){$(this).parent();}搞定

input绑定click事件="getParent(this)"

橙子瓣 | 园豆:214 (菜鸟二级) | 2014-09-09 15:06

敲错了,$(this).parent() 应该是 $(obj).parent()

支持(0) 反对(0) 橙子瓣 | 园豆:214 (菜鸟二级) | 2014-09-09 15:08
0

客户端处理,还是一起Jquery吧

Alex_QY1987 | 园豆:1888 (小虾三级) | 2014-09-09 17:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册