今天发现了一个奇怪的问题,同样的代码在IE和Chrome中的想过却不一样,仔细查了一下,发现时firstChild在里面作祟,如果节点中没有包含第一个子元素,将传回null。
源代码为 tableRowCheck = this.cells[0].firstChild;
网页代码为:
<td class="listTableText">
<input type="checkbox" name="deleteList" value="<s:property value="reportId"/>" />
</td>
由于td换行了,所以在chrome中就会显示tableRowCheck为undefined,而IE则会会忽略节点之间生成的空白文本节点(比如换行字符),
修改成如下的代码即可:
<td class="listTableText"><input type="checkbox" name="deleteList" value="<s:property value="reportId"/>" /></td>