- 浏览: 182171 次
- 性别:
- 来自: 福建
-
最新评论
-
卡殿Love:
你好! 谢谢你的文章让我知道其中的原因,目前正在做手机端上的项 ...
web手机开发(iPhone和Andriod)关于position:fixed 属性的讨论
前端开发中,经常需要动态的添加、移除或者获取元素的Attribute。也就是说经常会用到setAttribute、removeAttribute和getAttribute。今天要讨论的是开发中遇到的几处IE与Firefox对Attribute操作的差异。
属性名大小写
在Firefox中,属性没有小写的概念,就算属性名全用大写,Firefox也会解析成小写,用Firebug看就能看到。所以下面的代码在Firefox与IE中运行结果会不一样。
<div altStr="sss"></div>
<script type="text/javascript">
var div = document.getElementsByTagName("div")[0];
div.removeAttribute("altstr");
alert(div.getAttribute("altstr"));//IE中返回sss,FF中返回null
</script>
不过在IE中,removeAttribute有第二个参数,设置为true表示不忽略大小写,为false时忽略大小写,默认值是 true;Firefox中因为解析时就不存在大写属性了,所以就没有第二个参数。也就是说IE中 removeAttribute(”test”,false)等同于Firefox中的removeAttribute(”test”),IE中 removeAttribute(”test”,true)在Firefox中无法实现。
Button的value属性
假设有下面一个button,怎么可以得到button的value属性?
<button value="a">b</button>
其实上,在IE下,无论是btn.getAttribute(”value”)、btn.value、btn.innerHTML还是 btn.innerText都得”b”,但是在Firefox下,btn.getAttribute(”value”)、btn.value得到的都是 ”a”,btn.innerHTML得到的是”b”。也就是说我们如果要在button上加自定义属性,不要用”value”做属性名,否则在IE下没办法取到值。
getAttribute返回值类型不同
看一下下面的代码,你认为IE与Firefox分别会返回什么?
<button onclick="alert(0)">b</button>
<script type="text/javascript">
var btn = document.getElementsByTagName("button")[0];
alert(btn.getAttribute("onclick"));
</script>
IE下,getAttribute(”onclick”)返回的是一个function,直接可以调用,Firefox下则返回一个string,直接调用会出错。
题外话
今天翻手册,看到上面对Button标签是这么描述的:
当 BUTTON 元素在表单中提交的话,Microsoft® Internet Explorer 5 及以后版本将提交 VALUE 标签属性,若存在的话。否则就提交 innerText 属性。在 Internet Explorer 4.0 中,只会提交 innerText 值。
但是我发现我的IE8对于form中的button,无论有没有value属性,都是提交button的innerHTML属性。不知道是什么回事。
属性名大小写
在Firefox中,属性没有小写的概念,就算属性名全用大写,Firefox也会解析成小写,用Firebug看就能看到。所以下面的代码在Firefox与IE中运行结果会不一样。
<div altStr="sss"></div>
<script type="text/javascript">
var div = document.getElementsByTagName("div")[0];
div.removeAttribute("altstr");
alert(div.getAttribute("altstr"));//IE中返回sss,FF中返回null
</script>
不过在IE中,removeAttribute有第二个参数,设置为true表示不忽略大小写,为false时忽略大小写,默认值是 true;Firefox中因为解析时就不存在大写属性了,所以就没有第二个参数。也就是说IE中 removeAttribute(”test”,false)等同于Firefox中的removeAttribute(”test”),IE中 removeAttribute(”test”,true)在Firefox中无法实现。
Button的value属性
假设有下面一个button,怎么可以得到button的value属性?
<button value="a">b</button>
其实上,在IE下,无论是btn.getAttribute(”value”)、btn.value、btn.innerHTML还是 btn.innerText都得”b”,但是在Firefox下,btn.getAttribute(”value”)、btn.value得到的都是 ”a”,btn.innerHTML得到的是”b”。也就是说我们如果要在button上加自定义属性,不要用”value”做属性名,否则在IE下没办法取到值。
getAttribute返回值类型不同
看一下下面的代码,你认为IE与Firefox分别会返回什么?
<button onclick="alert(0)">b</button>
<script type="text/javascript">
var btn = document.getElementsByTagName("button")[0];
alert(btn.getAttribute("onclick"));
</script>
IE下,getAttribute(”onclick”)返回的是一个function,直接可以调用,Firefox下则返回一个string,直接调用会出错。
题外话
今天翻手册,看到上面对Button标签是这么描述的:
当 BUTTON 元素在表单中提交的话,Microsoft® Internet Explorer 5 及以后版本将提交 VALUE 标签属性,若存在的话。否则就提交 innerText 属性。在 Internet Explorer 4.0 中,只会提交 innerText 值。
但是我发现我的IE8对于form中的button,无论有没有value属性,都是提交button的innerHTML属性。不知道是什么回事。
发表评论
-
LABjs、RequireJS、SeaJS 哪个最好用?为什么?
2013-10-28 16:36 685LABjs 的核心是 LAB(Loadin ... -
正则表达式
2011-03-26 09:00 882正则表达式可以: •测试字符串的某个模式。例如,可以对一个输入 ... -
offsetParent,parentNode,parentElement区别
2011-03-22 15:09 1354offsetParent 指与位置有关的上级元素 pare ... -
js中的preventDefault和stopPropagation
2011-01-07 13:57 1044首先讲解一下js中preventDefault和stopP ... -
javascrip编码(escape(), encodeURL(), encodeURIComponent())
2010-10-27 10:04 1052escape() 方法: 采用ISO-Latin字符集对指定 ... -
splice() 方法
2010-03-15 10:56 1013splice() 方法用于插入、删除或替换数组的元素。 语法 ... -
ajax的原理和运行机制
2010-03-12 17:36 895关于ajax,是最近炒得非常火的一种技术,并且时下它也是非常流 ... -
HTML文档中小meta的大作用
2010-01-25 10:37 748meta 是用来在HTML文档中 ... -
JavaScript的陷阱
2010-01-22 13:38 808区分大小写 变量名和 ... -
连续字符自动换行的解决方案
2010-01-21 11:58 910http://dancewithnet.com/2008/12 ... -
JS判断脚本是否加载完成
2010-01-21 11:29 17161.function include_js(file) { 2 ... -
JavaScript程序编码规范
2010-01-20 15:27 865JavaScript文件 JavaScript程 ... -
js的nextSibling
2010-01-13 11:28 2563nextSilbling 属性的作用是:直接返回一个节点之后的 ... -
Javascript去掉字符串前后空格
2010-01-07 10:20 1417给string类型添加方法 String.prototype ... -
javascript中的location.reload() 和 location.replace()的区别和应用
2010-01-06 17:42 2461首先介绍两个方法的语法: reload 方法,该方法强迫浏览 ... -
为什么尽量用局部变量代替全局变
2010-01-06 16:48 1110在如何提高JavaScript性能 ... -
javascript中substring()方法与substr()方法的区别
2010-01-06 16:45 21511 这两个方法都是String对象的方法 2 substr( ... -
关于IE和火狐下JS加载循序的问题
2009-12-16 10:42 1237FF是按照循序加载的,而IE却不是的,也就是说FF是同步加载, ... -
当嵌套iframe时,提供了一个统一的访问超时退出的UI界面
2009-12-16 09:04 3955Js代码:(来自Javaeye中的一段代码) functio ... -
异步加载组织结构树以及操作
2009-11-25 11:53 3340//============================= ...
相关推荐
6. **浏览器模拟**:Selenium支持多种浏览器,如Chrome、Firefox、IE等,这意味着你可以在不同环境下运行测试,确保跨浏览器兼容性。 7. **断言与异常处理**:在编写测试脚本时,断言用来验证预期结果,异常处理则...
3. 浏览器兼容性:在提到的不同浏览器中,如IE、Firefox,以及对不同操作系统,如UNIX和WINDOWS的支持,显示了在编写HTML代码时需要考虑到的浏览器兼容性问题。不同的浏览器对HTML和CSS的解析可能会有差异,这就要求...
除了上述提到的解决方案外,还需要注意以下几点: 1. 尽量避免在HTML标签中直接写入onclick等内联事件处理器,这样会使得HTML代码与JavaScript代码耦合,不利于维护。 2. 如果必须使用内联事件处理器(例如在第三...
scratch少儿编程逻辑思维游戏源码-Pyorovania.zip
scratch少儿编程逻辑思维游戏源码-弹力猫.zip
scratch少儿编程逻辑思维游戏源码-地心引力.zip
内容概要:本文介绍了一种基于金枪鱼群优化算法(TSO)和支持向量机(SVM)的混合算法模型——TSO-SVM,在多变量时间序列预测中的应用。文中详细解释了TSO-SVM的工作原理,即通过模拟金枪鱼群觅食行为来优化SVM的参数,从而提升预测性能。同时提供了具体的Matlab代码实现步骤,包括参数初始化、模型训练和预测。实验结果显示,TSO-SVM相较于传统SVM方法,显著提升了预测的准确性和稳定性,并展示了良好的泛化能力。 适合人群:对机器学习尤其是时间序列预测感兴趣的科研人员和技术开发者。 使用场景及目标:①需要进行多变量时间序列预测的研究项目;②希望利用自然启发式优化算法改善现有SVM模型效果的技术团队。 其他说明:推荐使用Libsvm工具箱配合Matlab 2018B及以上版本,仅限于Windows 64位操作系统。
内容概要:本文深入探讨了机器视觉技术,重点介绍了OpenCV和Qt在工业相机采集及图像处理中的应用。文中详细讲述了卡尺工具、找线、找圆、颜色检测、模板匹配及形状匹配等关键技术的具体实现方法,并特别强调了海康工业相机采集与基于形状的模板匹配界面的开发。此外,形状匹配算法已被封装成DLL,方便直接调用。通过实际案例和技术解析,帮助读者全面掌握机器视觉系统的构建。 适合人群:对机器视觉感兴趣的初学者、有一定编程基础的研发人员、从事工业自动化领域的工程师。 使用场景及目标:适用于希望深入了解机器视觉技术及其应用场景的专业人士,旨在提升图像处理能力,优化工业自动化流程,提高生产效率。 其他说明:文章不仅提供理论知识,还附有示例代码,便于读者动手实践并加深理解。
scratch少儿编程逻辑思维游戏源码-Billy奇妙之旅.zip
内容概要:本文详细介绍了基于模型开发(MBD)的BMS电池管理系统应用层软件模型。首先概述了BMS的核心任务,即确保电池的安全与高效运行,涉及充电、放电控制、实时监测和电池均衡管理。接着重点讨论了SUMlink电池管理系统策略模型,该模型通过收集和处理电池的数据(如电压、电流、温度),并运用多种算法(如SOC估算、SOH评估)来优化电池性能。文中还阐述了BMC CVS内部通讯协议DBC的作用,确保各模块间数据传输的准确性与效率。最后,介绍了AUTOSAR标准在BMS系统中的应用,特别是针对MPC5644A芯片的底层Build工程,提高了系统的可维护性、可扩展性和可靠性。此外,提到了INCA A2L标定文件的应用,用于配置和调整系统参数,以满足不同需求。 适合人群:从事电动汽车电池管理系统研究与开发的技术人员,尤其是对MBD方法、通信协议和AUTOSAR标准感兴趣的工程师。 使用场景及目标:适用于希望深入了解BMS系统的设计原理和技术细节的专业人士,旨在提高他们对该领域的理解和实际操作能力。 其他说明:通过对代码的具体分析,读者能够更加直观地理解BMS的工作流程及其各个组件间的协作关系。
少儿编程scratch项目源代码文件案例素材-深海困境.zip
少儿编程scratch项目源代码文件案例素材-去吧泡泡糖.zip
KEPServerEX6-6.17.269.0,最新版
scratch少儿编程逻辑思维游戏源码-第二个循环.zip
少儿编程scratch项目源代码文件案例素材-手里剑.zip
少儿编程scratch项目源代码文件案例素材-山地跳跃.zip
内容概要:本文详细介绍了Informed RRT*算法及其在机器人路径规划领域的应用。文章首先解释了该算法相较于传统RRT*算法的优势,即通过将采样范围限制在由起点和终点构成的椭圆区域内来提高搜索效率。接着,文中提供了具体的代码实现,包括椭圆采样的核心公式、路径优化的rewire步骤以及动态调整邻居半径的方法。此外,还讨论了路径队列管理和椭圆区域随路径优化动态更新的重要性。通过这些技术手段,Informed RRT*能够在找到初始路径后显著加快优化速度。 适合人群:对机器人路径规划感兴趣的科研人员、工程师及学生。 使用场景及目标:适用于需要高效路径规划的实际应用场景,如自动驾驶汽车、无人机飞行路径规划等。目标是在复杂环境中快速找到从起点到终点的最佳路径。 其他说明:建议读者在理解理论的基础上,结合提供的代码进行实验,以便更好地掌握算法的工作机制。同时,在不同环境条件下测试算法性能,观察其自适应能力。
内容概要:本文详细介绍了基于COMSOL有限元软件的变压器辐射传热数值分析方法。首先,解释了变压器内外辐射传热的基本机理,包括热量通过传导、对流和辐射的方式传递,重点在于辐射传热的作用及其数学描述。接着,逐步引导读者从零开始构建有限元仿真模型,涵盖模型参数确定、网格划分、材料属性定义、边界条件设置、传热方程设定、仿真运行及结果分析等多个步骤。最后,探讨了进一步研究的方向,如不同因素(温度、材料属性、几何形状)对辐射传热的影响,以及该模型在电力电子设备和热管理系统的潜在应用。 适合人群:电气工程专业学生、初学者和技术爱好者,尤其是对有限元仿真和变压器辐射传热感兴趣的群体。 使用场景及目标:适用于希望通过实际操作掌握有限元仿真技能的人群,旨在帮助他们理解变压器辐射传热机制并能独立完成相关仿真项目。 其他说明:本文不仅提供了理论知识,还附带了详细的视频教程和仿真模型,使学习过程更加直观易懂。
scratch少儿编程逻辑思维游戏源码-Scratch 奔跑.zip