首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

小弟我这么写代码能够正确执行.但是IE左下会出错说

2012-04-06 
我这么写代码能够正确执行..但是IE左下会出错说:报错: cells.0.getElementsByTagName(...).0.innerHTML为

我这么写代码能够正确执行..但是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>

热点排行