- 浏览: 180300 次
- 性别:
- 来自: 福建
最新评论
-
卡殿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 676LABjs 的核心是 LAB(Loadin ... -
正则表达式
2011-03-26 09:00 856正则表达式可以: •测试字符串的某个模式。例如,可以对一个输入 ... -
offsetParent,parentNode,parentElement区别
2011-03-22 15:09 1325offsetParent 指与位置有关的上级元素 pare ... -
js中的preventDefault和stopPropagation
2011-01-07 13:57 1024首先讲解一下js中preventDefault和stopP ... -
javascrip编码(escape(), encodeURL(), encodeURIComponent())
2010-10-27 10:04 1031escape() 方法: 采用ISO-Latin字符集对指定 ... -
splice() 方法
2010-03-15 10:56 973splice() 方法用于插入、删除或替换数组的元素。 语法 ... -
ajax的原理和运行机制
2010-03-12 17:36 886关于ajax,是最近炒得非常火的一种技术,并且时下它也是非常流 ... -
HTML文档中小meta的大作用
2010-01-25 10:37 722meta 是用来在HTML文档中 ... -
JavaScript的陷阱
2010-01-22 13:38 782区分大小写 变量名和 ... -
连续字符自动换行的解决方案
2010-01-21 11:58 878http://dancewithnet.com/2008/12 ... -
JS判断脚本是否加载完成
2010-01-21 11:29 17011.function include_js(file) { 2 ... -
JavaScript程序编码规范
2010-01-20 15:27 828JavaScript文件 JavaScript程 ... -
js的nextSibling
2010-01-13 11:28 2519nextSilbling 属性的作用是:直接返回一个节点之后的 ... -
Javascript去掉字符串前后空格
2010-01-07 10:20 1398给string类型添加方法 String.prototype ... -
javascript中的location.reload() 和 location.replace()的区别和应用
2010-01-06 17:42 2450首先介绍两个方法的语法: reload 方法,该方法强迫浏览 ... -
为什么尽量用局部变量代替全局变
2010-01-06 16:48 1096在如何提高JavaScript性能 ... -
javascript中substring()方法与substr()方法的区别
2010-01-06 16:45 21401 这两个方法都是String对象的方法 2 substr( ... -
关于IE和火狐下JS加载循序的问题
2009-12-16 10:42 1214FF是按照循序加载的,而IE却不是的,也就是说FF是同步加载, ... -
当嵌套iframe时,提供了一个统一的访问超时退出的UI界面
2009-12-16 09:04 3930Js代码:(来自Javaeye中的一段代码) functio ... -
异步加载组织结构树以及操作
2009-11-25 11:53 3315//============================= ...
相关推荐
标题与描述均聚焦于“JavaScript在IE和Firefox(火狐)的不兼容问题解决”,这表明文章旨在探讨并提供解决方案来处理在不同浏览器环境下的JavaScript兼容性问题,尤其是在Internet Explorer(IE)和Mozilla Firefox...
本文将详细介绍在IE与Firefox浏览器之间实现JavaScript脚本兼容的方法,主要涉及函数、属性、方法等方面的内容。 #### 1. 获取表单元素 - **IE**: 支持`document.formName.item("itemName")`和`document.formName....
在JavaScript中,对DOM元素进行操作和遍历是常见...总之,虽然`childNodes`在IE和Firefox中的行为略有不同,但通过适当的条件判断,我们可以编写出既兼容IE又适用于Firefox的代码,确保在处理DOM遍历时的正确性和效率。
由于浏览器的实现差异,尤其是Firefox和IE之间的兼容性问题,需要特别注意处理方式。以下将详细介绍如何使用JavaScript操作XML文件,并确保在Firefox和IE之间具有良好的兼容性。 1. 创建XMLHttpRequest对象 在...
在处理浏览器兼容性问题时,尤其是在处理事件监听器(如`onmousemove`)时,IE 和 Firefox 在事件对象的获取上存在明显差异。 - **IE**: 使用 `window.event` 获取当前触发事件的对象。 - **Firefox**: 通过传递给...
AOP(面向切面编程)是一种编程范式,它允许程序员将关注点分离,将横切关注点(如日志、事务管理、性能度量等)从核心业务逻辑中解耦出来。在.NET中,我们可以通过Attribute来实现AOP的功能,这就是标题中提到的...
2. **使用反射获取Attribute信息**:在运行时,我们可以通过反射来访问和处理Attribute。例如,获取`MyProgram`类上的`AuthorAttribute`: ```csharp var type = typeof(MyProgram); var authorAttr = ...
"attributeQuery.rar_AttributeQuery" 提供的资源是关于如何利用ArcGIS Engine (AE) 和C#编程语言实现一个特定类型的查询——框选要素并弹出其属性值的查询功能。这个功能对地图数据的分析和应用非常实用,尤其在...
"Property和Attribute的区别" 在面向对象编程(Object-Oriented Programming)中,Property和Attribute都是常用的概念,但是它们之间存在着本质的区别。Property是指类向外提供的数据区域,是智能的字段,其中有get...
在Web开发中,属性(Attribute)作为一项基础而重要的功能,被广泛应用于处理用户请求、数据传递以及页面跳转等场景中。本文将深入探讨Attribute的基本概念、作用及其具体使用方法。 #### 一、Attribute的基本概念 ...
`System.Reflection`命名空间提供了多种方法来获取和处理Attribute。例如,我们可以这样获取`MyClass`上的`AuthorAttribute`: ```csharp var type = typeof(MyClass); var authorAttr = type.GetCustomAttribute()...
在计算机图形学领域,GLSL(OpenGL Shading Language)是一种着色语言,用于编写图形处理单元(GPU)上的着色器。着色器是运行在GPU上的小程序,负责处理像素和顶点的颜色、位置等属性。`attribute`是GLSL中的一个...
在.NET框架中,属性(Attribute)是一种元数据,可以附加到程序元素,如类、方法、属性等,为编译器、运行时环境或其他工具提供额外的信息。它们是编程中的一个重要概念,允许开发者向代码中添加非执行性的描述性...
### __attribute__ 在 C 语言中的使用方法 #### 一、引言 在 C 语言中,`__attribute__` 是 GNU 编译器集合 (GCC) 的一个扩展特性,它允许开发人员向函数、变量或类型添加元数据,从而增强编译时的错误检查能力并...
在IT领域,文件属性(File Attribute)是操作系统用于标识和管理文件的重要机制。它提供了关于文件的基本信息,如隐藏、只读、系统、存档等状态。这些属性可以帮助用户和程序更好地控制文件的访问和存储。现在我们来...
#### 一、Attribute路由简介与启用 在探讨Attribute路由之前,我们先来明确一下它的定义。**Attribute路由**是一种新的路由机制,它允许开发者直接在控制器的方法(即Action)上定义路由规则,这种方式极大地简化了...
AttributeError: module 'tensorflow.compat.v1' has no attribute 'contrib'的问题您具体怎么解决问题具体解决的seq_loss.py文件
总结起来,`webdriver_element_locator-1.rev312-fx.xpi`是一个针对Firefox浏览器的XPath插件,它与WebDriver自动化测试框架紧密相关,帮助用户高效地定位和操作网页元素。对于Web开发者和测试工程师来说,这类工具...
python3 server.py 127.0.0.1 8888 ...AttributeError: module ‘os’ has no attribute ‘exit’ 部分代码入下: from socket import * import sys,os #实现登录 def do_login(s,user,name,addr): for i in user: i