当我单击IE上的行时,它调用hello()方法并且工作正常但不在Firefox中。我怀疑这一行
tr align="left" bgcolor="eeeeee" style="padding-top: 3px; cursor: pointer;">
因为当我删除它时,它的工作类型
<script language="javascript" type="text/javascript">
function hello(){
alert('hello');
}
</script>
<span style="" onclick="hello();"
onmouseover="this.children[0].style.backgroundColor='#D8EEEE'; this.children[1].style.backgroundColor='#D8EEEE';"
onmouseout="this.children[0].style.backgroundColor=''; this.children[1].style.backgroundColor='';">
<tr align="left" bgcolor="eeeeee">
style="padding-top: 3px; cursor: pointer;">
<td class="blueFont" style="font-weight: bold; <%=style%>">
我已经尝试从onclick中删除分号
答案 0 :(得分:3)
HTML无效,<span>
元素不能包含<tr>
元素。 Firefox和Internet Explorer正试图以不同的方式从中恢复。
IIRC,无论如何,Internet Explorer将<tr>
包裹<span>
,而Firefox会移动<span>
,因此它位于<table>
结束之后。因此,您尝试访问的范围的子元素不存在。
从valid HTML开始。您可以使用<thead>
,<tfoot>
和<tbody>
元素标记表格的各个部分。
答案 1 :(得分:2)
因为'span'中有'tr'?