cloneNode来自于Node,用来复制一个相同的节点元素。它有一个布尔类型的参数,如果为true则其子节点也会被拷贝。但在不同浏览器中它的表现有些地方却不同。下面依次列出。

一、IE6/7中radio和checkbox的checked和其它浏览器不同

1

2

3

4

5

6

7

<input type="radio" checked="true" value="1"/>

<input type="checkbox" checked="true" value="1"/>

<script>

var input = document.getElementsByTagName('input')[0];

var clone = input.cloneNode(true);

alert(clone.checked);

</script>

IE6/7 : false

IE8/9/Firefox12/Chrome18/Safar5/Opera11: true

二、IE6/7/8中 input[type=text]和textarea 的defaultValue和其它浏览器不同

1

2

3

4

5

6

<input value="hello"/>

<script>

var input = document.getElementsByTagName('input')[0];

var clone = input.cloneNode(true);

alert(clone.defaultValue);

</script>

IE6/7/8 :""

IE9/Firefox12/Chrome18/Safar5/Opera11: "hello"

三、IE6/7/8中 option的selected值和其它浏览器不同

1

2

3

4

5

6

7

8

9

10

<select>

<option value="1">1</option>

<option value="2" selected="selected">2</option>

<option value="3">3</option>

</select>

<script>

var option = document.getElementsByTagName('option')[1];

var clone = option.cloneNode(true);

alert(clone.selected);

</script>

IE6/7/8 : false

IE9/Firefox12/Chrome18/Safar5/Opera11: true

四、IE6/7/8中 script  的text属性值和其它浏览器不同

1

2

3

4

5

6

7

8

<script>

var a = 'test';

</script>

<script>

var script = document.getElementsByTagName('script')[0];

var clone = script.cloneNode(true);

alert(clone.text)

</script>

IE6/7/8 :""

IE9/Firefox12/Chrome18/Safar5/Opera11: "var a = 'test';"

注:DOM4中cloneNode的参数是可选的,即可以不传参,此时默认为true。Firefox13将实现。

各浏览器cloneNode方法的部分实现差异相关推荐

  1. js/jquery判断浏览器的方法总结

    JS获取浏览器信息 浏览器代码名称:navigator.appCodeName 浏览器名称:navigator.appName 浏览器版本号:navigator.appVersion 对Java的支持 ...

  2. js/jquery判断浏览器的方法小结

    在网站前端开发中,浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本,而判断浏览器的版本一般只能通过分析浏览器的userAgent才能知道.今天我们把 ...

  3. JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)

    今天在写一个代码复制功能的时候,发现的这个问题,ie11也不支持document.all,看来以后越来越标准了 今天碰到一个奇怪的问题,有一个页面,想指定用IE浏览器打开,在VS开发环境没有问题,但部 ...

  4. html table clonenode,HTML DOM cloneNode() 方法

    拷贝一个列表项到另外一个列表: Coffee Tea Water Milk 单击按钮将项目从一个列表复制到另一个列表中 点我 function myFunction() { var itm = doc ...

  5. 排错-Loadrunner录制打不开浏览器解决方法

    排错-Loadrunner录制打不开浏览器解决方法 by:授客 QQ:1033553122 问题描述: 采用自带的web测试站点http://127.0.0.1:1080/WebTours/,进行录制 ...

  6. 免费指纹浏览器破解方法之开源代码

    大家做跨境电商肯定都在找指纹浏览器,那么有没有免费的指纹浏览器呢?要想找到靠谱的指纹浏览器,大家可以自己从技术角度去操作.比如说免费指纹浏览器破解方法之开源代码. 通过欺骗您的插件,语言和用户代{过} ...

  7. chrome设置微信ua_Chrome谷歌浏览器模拟微信内置浏览器的方法(电脑上)

    在微信里打开网页链接都会调用微信内置的浏览器,这种情况下是不太容易调试的的,那么有没有办法让谷歌浏览器模拟微信浏览器呢?下面小编分享的方法可以让Chrome谷歌浏览器模拟微信内置浏览器方便大家调试. ...

  8. ASP.NET实现推送文件到浏览器的方法

    这篇文章主要介绍了ASP.NET实现推送文件到浏览器的方法,可实现将文件推送到浏览器供用户浏览或下载的功能,需要的朋友可以参考下 本文实例讲述了ASP.NET实现推送文件到浏览器的方法.分享给大家供大 ...

  9. 易语言易语言浏览器html5,易语言做浏览器的方法

    各位小朋友还在为电脑浏览记录被家长监视而发愁吗,有了它,再也不用担心啦. 1.新建一个Windows窗口程序 2.尽量把窗口拉大,越大越好.并放上一个超文本浏览框,按钮.如图 3.下面复制就可以了: ...

最新文章

  1. iMeta:青岛大学苏晓泉组开发跨平台可交互的微生物组分析套件PMS(全文翻译,PPT,视频)...
  2. 最新数据:一图看清全球393家独角兽公司
  3. Android P 凹口屏支持,打造全面屏体验
  4. Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
  5. vim C plugins
  6. Docker环境下报错:unknown group ‘mlocate‘ in statoverride file E: Sub-process /usr/bin/dpkg
  7. 含有js的英文单词_JavaScript 常用单词整理
  8. php对mysql进行增删改查,php对mysql进行增删改查
  9. php 函数 中文,PHP语言之PHP中文函数连载(二)
  10. windows和linux 修改 hosts的路径
  11. 计算机网络帧及其封装,计算机网络程设计-帧封装.doc
  12. win10如何打来计算机的工具,电脑系统教程:Win10自带解压缩文件工具如何使用
  13. 需要缺少的Web组件才能加载,以及项目加载后显示“不可用”的解决方法
  14. [Excel知识技能] 将文本型数字转换为数值格式
  15. 极光Im + layIm 实现后台聊天
  16. BLE安全之SM剖析(3)
  17. 立体视觉入门指南:对级约束与Fusiello法极线校正
  18. C# 简单判断枚举值是否被定义
  19. 如何选择APP内测分发平台?五年开发者亲述
  20. 心肺运动试验----各类参数分析笔记

热门文章

  1. 情系玉树, 大爱无疆----抗震救灾
  2. 【图像格式】关于YUV格式的一些总结
  3. 函数参数的传递方式和变量作用域
  4. .NetCore使用以太坊区块链简介
  5. win10电脑任务栏底部设置成正方形的小图标
  6. cannot open tolua.lua: No such file or directory
  7. 生成函数(母函数)入门详解
  8. 如何通过mvn命令查看项目全部依赖
  9. 520不敢说出口?教你硬核表白
  10. 有一天程序员们受够了这个世界