Opera下cloneNode的bug

作者:realazy 来源:realazy 时间:2007-11-23 11:40:00 

Opera, 作为 A-Grade 浏览器,在现在的前端开发中务必支持。它很优秀,很不幸,bug是每个浏览器都不可避免的问题,Opera亦难免。说说我发现的一个关于 cloneNode 的问题。

问题:

假设我们有一个 Form 节点(node)的引用,姑且名之为 elForm,现在需要克隆一份,可以这么做:var elFormClone = elForm.cloneNode(true).

在插入这份克隆到 DOM 树中后,IE, Firefox 均未发现问题。Opera会产生这样的问题:表单内的字段无法引用。比如,假设刚才我们的elForm 有一个 <input name="title" ... />, 此时你无法通过 elFormClone.title 或者 elFormClone['title'] 获取它。

解决方案

使用 document.createElement 创建 form 元素,然后设置该元素的 innerHTML(感谢 MS 发明了它) 为elForm 的 innerHTML 即可:


var elFormClone = document.createElement('form');
// 设置一些elForm的原属性,有必要的话
...
elFormClone.innerHTML = elForm.innerHTML;
// 处理这个clone, 该咋办就咋办了
...


标签:Opera,cloneNode,ie,DOM
0
投稿

猜你喜欢

  • Oracle SQL性能优化系列学习三

    2010-07-23 13:08:00
  • SQL Server连接中经常出现的3个常见错误与解答

    2010-07-26 14:25:00
  • 交互设计实用指南系列(11)—减少记忆负担

    2010-03-29 13:12:00
  • 用实例分析如何整理SQL Server输入数据

    2009-01-20 15:16:00
  • 数据库大战: MS SQL Server & IBM DB2

    2009-08-25 16:24:00
  • 基于Oracle的面向对象技术入门基础简析开发者网络Oracle

    2010-07-18 12:57:00
  • Sql Server 2012 分页方法分析(offset and fetch)

    2012-10-07 10:51:04
  • 搞定web设计中网页路径问题

    2007-09-22 08:52:00
  • ASP中CACHE缓存技术

    2010-05-03 10:58:00
  • SQL Server中导入导出数据的三种方式

    2008-11-28 15:53:00
  • Oracle DBA常用语句第1/2页

    2009-08-08 22:38:00
  • 常见系统中文字体的英文名

    2008-03-03 12:44:00
  • 利用JavaScript正则表达式模拟Google Talk的文本处理

    2007-12-04 18:43:00
  • MYSQL初学者扫盲

    2009-02-27 13:15:00
  • 管理员必读10个重要MySQL客户启动选项

    2008-06-07 16:57:00
  • Sql server中的char、varchar、text和nchar、nvarchar、ntext的区别

    2011-08-14 09:43:44
  • 如何修改Linux的下MySQL 5.0的默认连接数

    2012-01-29 18:07:04
  • 地图网站的需求功能与体验

    2009-03-01 11:15:00
  • position两三事

    2009-02-16 15:23:00
  • ASP访问统计计数器代码

    2008-03-20 13:33:00
  • asp之家 网络编程 m.aspxhome.com