各浏览器cloneNode方法的部分实现差异
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方法的部分实现差异相关推荐
- js/jquery判断浏览器的方法总结
JS获取浏览器信息 浏览器代码名称:navigator.appCodeName 浏览器名称:navigator.appName 浏览器版本号:navigator.appVersion 对Java的支持 ...
- js/jquery判断浏览器的方法小结
在网站前端开发中,浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本,而判断浏览器的版本一般只能通过分析浏览器的userAgent才能知道.今天我们把 ...
- JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
今天在写一个代码复制功能的时候,发现的这个问题,ie11也不支持document.all,看来以后越来越标准了 今天碰到一个奇怪的问题,有一个页面,想指定用IE浏览器打开,在VS开发环境没有问题,但部 ...
- html table clonenode,HTML DOM cloneNode() 方法
拷贝一个列表项到另外一个列表: Coffee Tea Water Milk 单击按钮将项目从一个列表复制到另一个列表中 点我 function myFunction() { var itm = doc ...
- 排错-Loadrunner录制打不开浏览器解决方法
排错-Loadrunner录制打不开浏览器解决方法 by:授客 QQ:1033553122 问题描述: 采用自带的web测试站点http://127.0.0.1:1080/WebTours/,进行录制 ...
- 免费指纹浏览器破解方法之开源代码
大家做跨境电商肯定都在找指纹浏览器,那么有没有免费的指纹浏览器呢?要想找到靠谱的指纹浏览器,大家可以自己从技术角度去操作.比如说免费指纹浏览器破解方法之开源代码. 通过欺骗您的插件,语言和用户代{过} ...
- chrome设置微信ua_Chrome谷歌浏览器模拟微信内置浏览器的方法(电脑上)
在微信里打开网页链接都会调用微信内置的浏览器,这种情况下是不太容易调试的的,那么有没有办法让谷歌浏览器模拟微信浏览器呢?下面小编分享的方法可以让Chrome谷歌浏览器模拟微信内置浏览器方便大家调试. ...
- ASP.NET实现推送文件到浏览器的方法
这篇文章主要介绍了ASP.NET实现推送文件到浏览器的方法,可实现将文件推送到浏览器供用户浏览或下载的功能,需要的朋友可以参考下 本文实例讲述了ASP.NET实现推送文件到浏览器的方法.分享给大家供大 ...
- 易语言易语言浏览器html5,易语言做浏览器的方法
各位小朋友还在为电脑浏览记录被家长监视而发愁吗,有了它,再也不用担心啦. 1.新建一个Windows窗口程序 2.尽量把窗口拉大,越大越好.并放上一个超文本浏览框,按钮.如图 3.下面复制就可以了: ...
最新文章
- iMeta:青岛大学苏晓泉组开发跨平台可交互的微生物组分析套件PMS(全文翻译,PPT,视频)...
- 最新数据:一图看清全球393家独角兽公司
- Android P 凹口屏支持,打造全面屏体验
- Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
- vim C plugins
- Docker环境下报错:unknown group ‘mlocate‘ in statoverride file E: Sub-process /usr/bin/dpkg
- 含有js的英文单词_JavaScript 常用单词整理
- php对mysql进行增删改查,php对mysql进行增删改查
- php 函数 中文,PHP语言之PHP中文函数连载(二)
- windows和linux 修改 hosts的路径
- 计算机网络帧及其封装,计算机网络程设计-帧封装.doc
- win10如何打来计算机的工具,电脑系统教程:Win10自带解压缩文件工具如何使用
- 需要缺少的Web组件才能加载,以及项目加载后显示“不可用”的解决方法
- [Excel知识技能] 将文本型数字转换为数值格式
- 极光Im + layIm 实现后台聊天
- BLE安全之SM剖析(3)
- 立体视觉入门指南:对级约束与Fusiello法极线校正
- C# 简单判断枚举值是否被定义
- 如何选择APP内测分发平台?五年开发者亲述
- 心肺运动试验----各类参数分析笔记