tianhandigeng 发表于 2013-2-7 19:47:23

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

      需求:同一个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').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很强大,但是也觉得有些麻烦,自有继续学了。
 
 
页: [1]
查看完整版本: 根据firstChild获得对象在FF和IE中的问题