需求:同一个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很强大,但是也觉得有些麻烦,自有继续学了。
分享到:
相关推荐
通过以上方法,我们可以在JavaScript中有效地操作XML文件,同时解决Firefox和IE之间的兼容问题。了解这些概念和技巧,开发者就能在不同的浏览器环境下灵活地处理XML数据,提升Web应用的性能和用户体验。
由于历史原因,不同的浏览器在实现DOM操作时存在一些差异,尤其是早期版本的Internet Explorer(IE)和Firefox(FF)。为了编写跨浏览器兼容的JavaScript代码,开发者需要处理这些差异性。本文将介绍如何兼容IE和FF...
- 在非IE浏览器中,可以使用`document.implementation.createDocument()`创建XML文档对象,然后使用`DOMParser.parseFromString()`加载XML字符串。 示例代码: ```javascript function loadXmlDoc(xmlUrl) { ...
在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们。 9 使用arguments.length检测参数个数 9 模拟函数重载 10 (3) Function对象(类) 10 Function对象的使用 10 使用...
特别是在Internet Explorer(IE)和Firefox(FF)浏览器中,它们对空白文本节点的处理方式不同,IE可能会忽略这些空白文本节点,而Firefox则不会。 在IE中,如果你使用nextSibling获取下一个兄弟节点,可能会直接...
第一个问题是fixed的tr在ie7中不能进行定位,而且td在定位后并不能保持在表格中的布局,这样在原表格插tr就没意义了。 ps:fixed的相关应用可参考仿LightBox效果。 最后我用的方法是新建一个table,并把源tr克隆到...
在Web开发中,JavaScript提供了操作文档对象模型(DOM)的一系列接口,允许开发者动态地修改网页内容、结构和样式。但由于浏览器之间的差异,开发者在使用DOM API时常常会遇到各种跨浏览器兼容性问题。本文对这些...