innerHTML 引发“未知的运行时错误”

作者:快乐笛子 来源:快乐笛子博客 时间:2008-04-09 13:06:00 

今天碰到这个极度郁闷的报错,搞了大半下午,才发现是ie的问题,忍不住大骂。例子是这样的:页面中有多处能出发菜单,并且菜单出现在触发点的旁边,为保证页面上不能同时显示两个以上的菜单,我的做法是隐藏一个div,用作菜单容器。

每个触发点根据实际情况在菜单容器里innerHTML各种html代码,再用appechChild方法把菜单续加到(其实就是剪切)到触发点的旁边。代码如下:

 <script type="text/javascript">
function product(obj){
 var menu = document.getElementById("abc");
 menu.style.display = "";
 menu.innerHTML = "产品的菜单";
 obj.parentNode.appendChild(menu);
}
function news(obj){  
 var menu = document.getElementById("abc");
 menu.style.display = "";
 menu.innerHTML = "新闻的菜单";
 obj.parentNode.appendChild(menu);
}
</script>
<div id="abc" style="border:1px solid #000; background:#eee; position:absolute; display:none; height:200px; font-size:12px; padding:1em"></div>
<p><input type="button" value="产品" onclick="product(this)"></p>
<p style="margin-left:130px"><input type="button" value="新闻" onclick="news(this)"></p>

上面两个函数仅仅2个中文字符不同,但触发其中任一个函数,再触发第二个,就会报“未知的运行时错误”,相当诡异。左看右看,都没看出什么破绽,RPWT?No way!即刻询问谷歌,答曰“innerHTML 对下面的对象只读: COL,COLGROUP,FRAMESET,HTML,STYLE,TABLE,TBODY,TFOOT,THEAD,TITLE,TR”,谷歌似乎也不太清楚,真晕,这个让人费神的破IE。谷歌虽然没有爽快地告诉我答案,却也才知道原来ie下还有innerHTML属性为只读的元素,瀑布汗~~~,根据这一启发,修改了几次页面的标签,有了一个惊人的发现,只要把触发点父节点p元素改用div元素,程序立马正常!hoho~~~,原来divp除了语义不同,其作为文档对象(xml节点)的属性也不同。无语~

标签:innerhtml,错误,js
0
投稿

猜你喜欢

  • Python使用folium excel绘制point

    2021-10-07 08:23:17
  • 关系型数据库与非关系型数据库简介

    2024-01-19 05:36:44
  • Perl字符串处理函数大全

    2023-11-25 17:33:35
  • python模块之re正则表达式详解

    2021-08-15 03:34:52
  • LINUX下Oracle数据库用户创建方法详解

    2023-07-22 02:02:20
  • python 列表,集合和字典的增删改查

    2021-06-20 04:31:37
  • Python 静态方法和类方法实例分析

    2021-07-08 19:25:37
  • python游戏实战项目之俄罗斯方块的魅力

    2021-12-07 19:38:23
  • SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例

    2024-01-18 22:04:53
  • Python word实现读取及导出代码解析

    2021-05-11 07:56:47
  • JavaScript基于ChatGPT API实现划词翻译浏览器脚本

    2024-04-22 12:52:27
  • python3.6中anaconda安装sklearn踩坑实录

    2023-03-16 19:17:15
  • 解决Python报错:ValueError:operands could not be broadcast together with shapes

    2021-05-14 12:04:53
  • Python的flask常用函数route()

    2023-03-10 09:54:39
  • Python统计词频并绘制图片(附完整代码)

    2022-01-01 09:28:24
  • Python元素集合的列表切片

    2023-08-08 23:08:57
  • Python3.7实现中控考勤机自动连接

    2022-08-07 16:24:22
  • python调用摄像头显示图像的实例

    2021-07-18 20:46:58
  • 区别div和span、relative和absolute、display和visibility

    2009-12-13 12:18:00
  • Python科学计算环境推荐——Anaconda

    2022-12-17 15:07:30
  • asp之家 网络编程 m.aspxhome.com