六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 122|回复: 0

根据firstChild获得对象在FF和IE中的问题

[复制链接]

升级  8.67%

60

主题

60

主题

60

主题

举人

Rank: 3Rank: 3

积分
226
 楼主| 发表于 2013-2-7 19:47:23 | 显示全部楼层 |阅读模式
      需求:同一个tr中有多个td,其中第一个td放置的是一个checkbox,后面的td中有一个放置的是普通的输入框input,html是这样的:
<td>   <input type="checkbox" name="pids" value="${value.pid}" /></td><td><input name="amount" style="width:40px;text-align:center;" value="${value.amount}" onKeyUp="keypress(this,this.value)"/></td> 现在就由这个普通输入框input来获取这个checkbox,js是这样的:
var tr=object.parentNode.parentNode; var chk=tr.getElementsByTagName('td')[0].firstChild; 然后我根据chk.checked来判断是否选中的输入框,但是确出现麻烦了,在IE中可以正确的执行我要的操作,但是再FF却不行,最后测试了一下输出alert(chk.checked);发现在FF中显示的是undefined。
    最后去群里面问了,有的说在FF中把空格之类的都算作是一个child,于是乎输出childNodes.length,的确在IE中和FF中输出地也是不同的,一个网友建议把td的空格都去掉,于是我就这样写了:
<td><input type="checkbox" name="pids" value="${value.pid}" /></td> 这次在IE和FF中都可以了。
 
   算是不怎么懂js,觉得js很强大,但是也觉得有些麻烦,自有继续学了。
 
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表