????? 需求:同一个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很强大,但是也觉得有些麻烦,自有继续学了。
?
?