FF IE兼容性的修改小结


Posted in Javascript onSeptember 02, 2009

1.html 标签如果用 $(id) 或者 getElementById 这两个方法取值时,要给该标签加上 id 的属性, IE 、 FF 才兼容。如 $(mobile): 如果填 写 mobile 的 input 没有 id 属性在 FF 中会报这个变量 undefined ;
2. 取 form 表单的某个标签对象,如果要 IE 、 FF 兼容要把 formMain.item 改为 document.formName.item 。
如 form1.webUrl 改为 document.form1.webUrl 。
如果 form 作为一个参数传给某个函数,也要加上 "document.", 如 search(formMain) 改为 search(document.formMain)
3. 取 html 的自定义属性用 obj.attributeName 改为 obj.getAttribute("attributeName") 取则 IE 、 FF 兼容;非自定义属性仍可以按照
obj.attributeName 取。
如: <input type="text" name="memberCn" checkValue="notNull;eLength:25"> 这个标签中的 checkValue 属性为自定义属性,要用 obj.getAttribute("checkValue") 取, IE 、 FF 才兼容,其他属性如 type 属性则仍然可以用 obj.type 取
4.eval 函数,在 FF 和 IE 中使用不一样 , 在 FF 中用“ + ”连接成的一个可执行语句作为 eval 的参数时,不能执行而在 IE 中可以。遇到 要用 eval 时,尽量找别的方法代替。
如: eval("msg_" + textbox.name+ “ .className='wrong' ”) ;
"msg_" + textbox.name+ “ .className='wrong' ”这句话作为 eval 的参数在 IE 中能执行,在 FF 中执行时报 "msg_" + textbox.name 连接得到的空间名 undefined ,不能执行, 要修改为:
document.getElementById("msg_" + textbox.name).className='wrong';
5. 样式中的 display 的属性 block ,在 FF 中如果遇到异常可以变为空;如 item.style.display="block" 可以改为 item.style.display=""
如 $("divType4").style.display="block";
改为 $("divType4").style.display="";
6. 再添加一个: label 在 FF 中好像跟 IE 不一样:比如说以下代码:
<td colspan = "3" class = "line_l"> 成人 <label>
<input name = "amount" type = "text" value = "${amount} " size = "6" maxlength = "10" eleName = "[ 成人预订人数 ]" checkValue = "notNull;eLength:10;isLong" />
人        儿童
<input name = "kidAmount" type = "text" value = "${kidAmount} " size = "6" maxlength = "10" eleName = "[ 儿童预订人数 ]" checkValue = "notNull;eLength:10;isLong" />
人 <span class = "line_red"> * </ span></label>
</ td>
这样写在 FF 中输入时儿童的光标总是跑到成人那里去, IE 中不会,而这样写就不会:
<td width = "25%"> 成人 <label>
<input name = "amount" type = "text" value = "${amount} " size = "6" maxlength = "10" eleName = "[ 成人预订人数 ]" checkValue = "notNull;eLength:10;isLong" /> 人 </ label></ td>
<td width = "75%"> 儿童 <label><input name = "kidAmount" type = "text" value = "${kidAmount} " size = "6" maxlength = "10" eleName = "[ 儿童预订人数 ]" checkValue = "notNull;eLength:10;isLong" /> 人 </ label></ td>
注意 label 的位置,一个是在两个 input 的外面,一个是在一个 input 的外面,
难道 label 标签在 FF 中不能包含两个输入的标签???
还有一个地方:代码如下:
<td><label>
<select name = "provinceId" id = "provinceId" onchange = "iniCity(document.frmMain.provinceId,document.frmMain.cityId,document.frmMain.subCity);" eleName = "[ 所在省份 ]" checkValue = "IS_LONG">
</ select> 省
<select name = "cityId" id = "cityId" onchange = "iniSubCity(document.frmMain.provinceId,document.frmMain.cityId,document.frmMain.subCity);" eleName = "[ 所在城市 ]" checkValue = "IS_LONG"></ select> 市
<select name = "subCity" id = "subCity" eleName = "[ 所在县区 ]" checkValue = "IS_LONG"></ select>
<span class = "red"> * </ span></label></ td>
这个代码时第二个,第三个 select 的光标固定不住,应该是跑到了第一个 select 上去了,但因为是 select 所以看不到,但是上面的 input 能看到。同样这个问题在 IE 中正常。我觉得这个也说明了我上面的说法。

Javascript 相关文章推荐
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
Feb 26 Javascript
extjs中form与grid交互数据(record)的方法
Aug 29 Javascript
jquery easyui combobox模糊过滤(示例代码)
Nov 30 Javascript
理解Javascript文件动态加载
Jan 29 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
Mar 30 Javascript
AngulaJS路由 ui-router 传参实例
Apr 28 Javascript
layui中layer前端组件实现图片显示功能的方法分析
Oct 13 Javascript
详解使用React.memo()来优化函数组件的性能
Mar 19 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
Oct 28 Javascript
js new Date()实例测试
Oct 31 Javascript
vue Tab切换以及缓存页面处理的几种方式
Nov 05 Javascript
js实现div色块碰撞
Jan 16 Javascript
js 获取浏览器高度和宽度值(多浏览器)
Sep 02 #Javascript
获取URL地址中的文件名和参数的javascript代码
Sep 02 #Javascript
Javascript 判断函数类型完美解决方案
Sep 02 #Javascript
javascript 控制 html元素 显示/隐藏实现代码
Sep 01 #Javascript
jsTree树控件(基于jQuery, 超强悍)[推荐]
Sep 01 #Javascript
JavaScript 继承详解 第一篇
Aug 30 #Javascript
JavaScript 应用技巧集合[推荐]
Aug 30 #Javascript
You might like
php 数学运算验证码实现代码
2009/10/11 PHP
php smarty 二级分类代码和模版循环例子
2011/06/16 PHP
用PHP实现Ftp用户的在线管理
2012/02/16 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
2016/12/08 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
js如何判断用户是在PC端和还是移动端访问
2014/04/24 Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
2014/10/08 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
jQuery easyui刷新当前tabs的方法
2016/09/23 Javascript
BootStrap3使用错误记录及解决办法
2016/12/22 Javascript
深入剖析JavaScript instanceof 运算符
2019/06/14 Javascript
python插入数据到列表的方法
2015/04/30 Python
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
Python中map和列表推导效率比较实例分析
2015/06/17 Python
简单实现python爬虫功能
2015/12/31 Python
使用Eclipse如何开发python脚本
2018/04/11 Python
python解决字符串倒序输出的问题
2018/06/25 Python
python配置文件写入过程详解
2019/10/19 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
2020/12/08 Python
Pandas对每个分组应用apply函数的实现
2020/12/13 Python
意大利奢侈品购物网站:Giglio
2018/01/05 全球购物
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
玛蒂尔达简服装:Matilda Jane Clothing
2019/02/13 全球购物
如何在发生故障的节点上重新安装 SQL Server
2013/03/14 面试题
菜篮子工程实施方案
2014/03/08 职场文书
高三毕业寄语
2014/04/10 职场文书
工业自动化专业自荐信范文
2014/04/10 职场文书
施工质量承诺书范文
2014/05/30 职场文书
教育实践活动对照检查材料
2014/09/23 职场文书
公证处委托书
2015/01/28 职场文书
MySQL Router实现MySQL的读写分离的方法
2021/05/27 MySQL
SQL基础查询和LINQ集成化查询
2022/01/18 MySQL
python实现手机推送 代码也就10行左右
2022/04/12 Python