Javascript适用于IE浏览器,但不适用于Firefox,因此出错:cprofiledetailscollapse未定义

问题描述:

我使用C#.net。 我写了JavaScript隐藏和显示展开和折叠div相应。它在IE中运行良好,但不在Firefox上运行,甚至没有调用JavaScript函数,并给出错误信息:Error:ctl00_cpContents_dlSearchList_ctl08_profiledetailscollapse is not defined。 我的JavaScript是如下Javascript适用于IE浏览器,但不适用于Firefox,因此出错:cprofiledetailscollapse未定义

function displayDiv(divCompact, divExpand) { 
     //alert('1'); 
      var str = "ctl00_cpContents_"; 
      var divstyle = new String(); 
//   alert("ibtnShowHide" + ibtnShowHide); 
      divstyle = divCompact.style.display; 
      if (divstyle.toLowerCase() == "block" || divstyle == "") { 
       divCompact.style.display = "none"; 
       divExpand.style.display = "block"; 
//    ibtnShowHide.ImageUrl = "images/expand_img.GIF"; 
      } 
      else { 
//    ibtnShowHide.ImageUrl = "images/restore_img.GIF"; 
       divCompact.style.display = "block"; 
       divExpand.style.display = "none"; 
      } 
      return false; 
     } 
+2

欢迎来到*。由于问题出在你调用函数的时候,相关的代码就是你调用函数的地方,而不是函数定义。虽然有函数定义也很有用,但它是你调用**最相关的地方。 – 2011-02-24 12:59:21

+1

他是对的,你发布的代码不会产生错误......为什么你需要顶部的“str”变量? (技巧问题,你不需要它):P – 2011-02-24 13:01:51

ctl00_cpContents_dlSearchList_ctl08_profiledetailscollapse是由ASP.NET生成元素ID。这是dlSearchList中的一个profiledetailscollapse控件。

JavaScript变量“ctl00_cpContents_dlSearchList_ctl08_profiledetailscollapse”不是 定义的。对于每个具有ID的元素,Firefox不会为以该ID命名的全局范围内的 变量自动创建,并且该元素包含引用 。

您可能想要考虑使用jQuery来确保您的DOM操作是跨浏览器兼容的。

+0

谢谢你真的 – user632299 2011-02-26 07:16:26