读书人

小弟我这么写代码能够正确执行.但是IE

发布时间: 2012-04-06 12:22:24 作者: rapoo

我这么写代码能够正确执行..但是IE左下会出错说:
报错: 'cells.0.getElementsByTagName(...).0.innerHTML ' 为空或不是对象

<script language=javascript>

function showzd()
{
var textflie = document.getElementById( "zd ").rows;
var length=textflie.length;
for(var i=1;i <length;i++)
{
var tTime = textflie[i].cells[0].getElementsByTagName( 'span ')[0].innerHTML;


if ( tTime == "主队 " )
{
if (textflie[i].style.display == "none " ) {textflie[i].style.display = "block " } else {textflie[i].style.display = "none " }

}

}
}
</script>
<table width= "610 " border= "0 " cellpadding= "0 " cellspacing= "1 " bgcolor= "#006699 " class= "font12bcenter " id= "zd ">
<tr>
<td height= "20 " onclick= "showzd(); "> <div class= "STYLE1 " > 主队往绩 </div> </td>
</tr>
<% If Not zdwj.EOF Or Not zdwj.BOF Then %>
<%
While ((Repeat2__numRows <> 0) AND (NOT zdwj.EOF))
%>
<tr style= "display:block " >
<td width= "80 " height= "20 " bgcolor= "#FFFFFF "> <span> 主队 </span> </td>
</tr>
<%
Repeat2__index=Repeat2__index+1
Repeat2__numRows=Repeat2__numRows-1
zdwj.MoveNext()
Wend
%>

<tr>
<td height= "20 " bgcolor= "#FFFFFF "> </td>
</tr>
<% else %>
<tr>
<td height= "20 " bgcolor= "#FFFFFF "> 暂无记录 </td>
</tr>
<% End If ' end zdwj.EOF And zdwj.BOF %>


</table>

[解决办法]
var tTime = textflie[i].cells[0].getElementsByTagName( 'span ')[0].innerHTML;
这句有问题 并不是所有的cells都包含span所以有些getElementsByTagName( 'span ')没有元素
所以你这么写不行getElementsByTagName( 'span ')[0]
必须先判断getElementsByTagName( 'span ').length> 0
[解决办法]
是哦,就是那个原因,改成
var temp=textflie[i].cells[0].getElementsByTagName( 'span ')[0]
var tTime = (temp)?temp.innerHTML: " ";
[解决办法]
请楼主试试看我的办法行不行,如果能执行,但是报错,我的代码应该是一个不错的选择。

<script language=javascript>

function killErrors() {
return true;
}
window.onerror = killErrors;

function showzd()
{
var textflie = document.getElementById( "zd ").rows;
var length=textflie.length;
for(var i=1;i <length;i++)
{
var tTime = textflie[i].cells[0].getElementsByTagName( 'span ')[0].innerHTML;


if ( tTime == "主队 " )
{
if (textflie[i].style.display == "none " ) {textflie[i].style.display = "block " } else {textflie[i].style.display = "none " }

}

}
}
</script>
<table width= "610 " border= "0 " cellpadding= "0 " cellspacing= "1 " bgcolor= "#006699 " class= "font12bcenter " id= "zd ">
<tr>
<td height= "20 " onclick= "showzd(); "> <div class= "STYLE1 " > 主队往绩 </div> </td>
</tr>
<% If Not zdwj.EOF Or Not zdwj.BOF Then %>
<%
While ((Repeat2__numRows <> 0) AND (NOT zdwj.EOF))
%>
<tr style= "display:block " >
<td width= "80 " height= "20 " bgcolor= "#FFFFFF "> <span> 主队 </span> </td>
</tr>
<%
Repeat2__index=Repeat2__index+1
Repeat2__numRows=Repeat2__numRows-1
zdwj.MoveNext()
Wend
%>

<tr>
<td height= "20 " bgcolor= "#FFFFFF "> </td>
</tr>
<% else %>
<tr>
<td height= "20 " bgcolor= "#FFFFFF "> 暂无记录 </td>
</tr>
<% End If ' end zdwj.EOF And zdwj.BOF %>
</table>

读书人网 >JavaScript

热点推荐