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 相关文章推荐
javascript document.compatMode兼容性
Feb 23 Javascript
JSON传递bool类型数据的处理方式介绍
Sep 18 Javascript
利用javascript打开模态对话框(示例代码)
Jan 11 Javascript
javascript类型转换使用方法
Feb 08 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
Jun 16 Javascript
javascript 10进制和62进制的相互转换
Jul 31 Javascript
与Math.pow 相反的函数使用介绍
Aug 04 Javascript
js设置控件的隐藏与显示的两种方法
Aug 21 Javascript
jQuery动态背景图片效果实现方法
Jul 03 Javascript
Javascript动画效果(1)
Oct 11 Javascript
javascript的document中的动态添加标签实现方法
Oct 24 Javascript
js判断数组是否包含某个字符串变量的实例
Nov 24 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+SQL 注入攻击的技术实现以及预防办法
2011/01/27 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
2011/05/29 PHP
取得单条网站评论以数组形式进行输出
2014/07/28 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
PHP实现的解汉诺塔问题算法示例
2018/08/06 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
2019/10/21 PHP
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
js 未结束的字符串常量错误解决方法
2010/06/13 Javascript
基于jquery库的tab新形式使用
2012/11/16 Javascript
文本框中禁止非数字字符输入比如手机号码、邮编
2013/08/19 Javascript
jquery实现鼠标悬浮停止轮播特效
2020/08/20 Javascript
JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享
2016/11/01 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
jQuery Plupload上传插件的使用
2017/04/19 jQuery
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
AngularJS ui-router刷新子页面路由的方法
2018/07/23 Javascript
微信小程序--获取用户地理位置名称(无须用户授权)的方法
2019/04/29 Javascript
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
Python中内置数据类型list,tuple,dict,set的区别和用法
2015/12/14 Python
Python的包管理器pip更换软件源的方法详解
2016/06/20 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
Python中的元组介绍
2019/01/28 Python
Python中一般处理中文的几种方法
2019/03/06 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
2019/09/25 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
详解如何用canvas画一个微笑的表情
2019/03/14 HTML / CSS
我与祖国共奋进演讲稿
2014/09/13 职场文书
承诺书模板大全
2015/05/04 职场文书
人代会简报
2015/07/21 职场文书
分家协议书范本
2016/03/22 职场文书
2016年清明节期间群众祭祀活动工作总结
2016/04/01 职场文书
Django Paginator分页器的使用示例
2021/06/23 Python