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 相关文章推荐
JS随机漂浮广告代码具体实例
Nov 19 Javascript
node.js中的socket.io的广播消息
Dec 15 Javascript
jQuery实现简单二级下拉菜单
Apr 12 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
Aug 19 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
Aug 24 Javascript
js模糊查询实例分享
Dec 26 Javascript
bootstrap laydate日期组件使用详解
Jan 04 Javascript
详解React中的组件通信问题
Jul 31 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
Oct 14 jQuery
JavaScript捕捉事件和阻止冒泡事件实例分析
Aug 03 Javascript
对Vue beforeRouteEnter 的next执行时机详解
Aug 25 Javascript
在vue中使用jsonp进行跨域请求接口操作
Oct 29 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
eAccelerator的安装与使用详解
2013/06/13 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
javascript TextArea动态显示剩余字符
2008/10/22 Javascript
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
2015/06/05 Javascript
浅析BootStrap栅格系统
2016/06/07 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
2016/08/24 Javascript
javascript使用 concat 方法对数组进行合并的方法
2016/09/08 Javascript
微信小程序 教程之WXSS
2016/10/18 Javascript
angularJs中datatable实现代码
2017/06/03 Javascript
vuejs使用$emit和$on进行组件之间的传值的示例
2017/10/04 Javascript
基于Vue实现图片在指定区域内移动的思路详解
2018/11/11 Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
2019/08/23 Javascript
使用 Element UI Table 的 slot-scope方法
2019/10/10 Javascript
JS实现音乐钢琴特效
2020/01/06 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
Python中的元类编程入门指引
2015/04/15 Python
Python对列表排序的方法实例分析
2015/05/16 Python
视觉直观感受若干常用排序算法
2017/04/13 Python
Django中利用filter与simple_tag为前端自定义函数的实现方法
2017/06/15 Python
python实现读取大文件并逐行写入另外一个文件
2018/04/19 Python
python破解zip加密文件的方法
2018/05/31 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
2018/06/09 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
pandas DataFrame创建方法的方式
2019/08/02 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
如何利用python正则表达式匹配版本信息
2020/12/09 Python
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
乌克兰数字设备、配件和智能技术的连锁商店:KTC
2020/08/18 全球购物
五四青年节演讲稿
2014/05/26 职场文书
乡镇计划生育工作汇报
2014/10/28 职场文书
建党伟业的观后感
2015/06/01 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL