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;
}
ctl00_cpContents_dlSearchList_ctl08_profiledetailscollapse是由ASP.NET生成元素ID。这是dlSearchList中的一个profiledetailscollapse控件。
JavaScript变量“ctl00_cpContents_dlSearchList_ctl08_profiledetailscollapse”不是 定义的。对于每个具有ID的元素,Firefox不会为以该ID命名的全局范围内的 变量自动创建,并且该元素包含引用 。
您可能想要考虑使用jQuery来确保您的DOM操作是跨浏览器兼容的。
谢谢你真的 – user632299 2011-02-26 07:16:26
欢迎来到*。由于问题出在你调用函数的时候,相关的代码就是你调用函数的地方,而不是函数定义。虽然有函数定义也很有用,但它是你调用**最相关的地方。 – 2011-02-24 12:59:21
他是对的,你发布的代码不会产生错误......为什么你需要顶部的“str”变量? (技巧问题,你不需要它):P – 2011-02-24 13:01:51