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 相关文章推荐
document.all还是document.getElementsByName?
Jul 21 Javascript
js解决select下拉选不中问题
Oct 14 Javascript
jQuery实现放大镜效果实例代码
Mar 17 Javascript
jQuery动态添加
Apr 07 Javascript
jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
Jun 12 Javascript
基于javascript实现按圆形排列DIV元素(三)
Dec 02 Javascript
详解微信小程序 登录获取unionid
Jun 27 Javascript
vue数字类型过滤器的示例代码
Sep 07 Javascript
JS设计模式之命令模式概念与用法分析
Feb 06 Javascript
微信小程序实现横向增长表格的方法
Jul 24 Javascript
JS如何把字符串转换成json
Feb 21 Javascript
el-form 多层级表单的实现示例
Sep 10 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基于工厂模式实现的计算器实例
2015/07/16 PHP
php实现商城购物车的思路和源码分析
2020/07/23 PHP
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
JS中的log对象获取以及debug的写法介绍
2014/03/03 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
Angular.Js的自动化测试详解
2016/12/09 Javascript
自定义vue全局组件use使用、vuex的使用详解
2017/06/14 Javascript
深入浅析javascript继承体系
2017/10/23 Javascript
JavaScript实现连连看连线算法
2019/01/05 Javascript
Vue页面刷新记住页面状态的实现
2019/12/27 Javascript
Python操作CouchDB数据库简单示例
2015/03/10 Python
python版飞机大战代码分享
2018/11/20 Python
Python中py文件转换成exe可执行文件的方法
2019/06/14 Python
python读写csv文件的方法
2019/08/13 Python
基于Django实现日志记录报错信息
2019/12/17 Python
Django框架教程之中间件MiddleWare浅析
2019/12/29 Python
python sitk.show()与imageJ结合使用常见的问题
2020/04/20 Python
python小白切忌乱用表达式
2020/05/29 Python
Prometheus开发中间件Exporter过程详解
2020/11/30 Python
中国最大的名表商城:万表网
2016/08/29 全球购物
linux面试题参考答案(7)
2014/07/24 面试题
有关打架的检讨书
2014/01/25 职场文书
生日宴会主持词
2014/03/20 职场文书
求职者怎样写自荐信
2014/04/13 职场文书
环保建议书400字
2014/05/14 职场文书
火箭队口号
2014/06/18 职场文书
在职证明书范本(2014新版)
2014/09/25 职场文书
软弱涣散基层党组织整改方案
2014/10/25 职场文书
2014年加油站工作总结
2014/12/04 职场文书
优秀班集体事迹材料
2014/12/25 职场文书
2015年度护士个人工作总结
2015/04/09 职场文书
Win11 引入 Windows 365 云操作系统,适应疫情期间混合办公模式:启动时直接登录、模
2022/04/06 数码科技