当前位置: 代码迷 >> Web前端 >> 根据firstChild获得对象在FF和IE中的有关问题
  详细解决方案

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

热度:76   发布时间:2012-10-15 09:45:24.0
根据firstChild获得对象在FF和IE中的问题

????? 需求:同一个tr中有多个td,其中第一个td放置的是一个checkbox,后面的td中有一个放置的是普通的输入框input,html是这样的:

<td>
   <input type="checkbox" name="pids" value="${value.pid}" onclick="check(this)"/>
</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}" onclick="check(this)"/></td>

?这次在IE和FF中都可以了。

?

?? 算是不怎么懂js,觉得js很强大,但是也觉得有些麻烦,自有继续学了。

?

?