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对select标签的控制(option选项/select)
Jan 31 Javascript
jQuery实现的多选框多级联动插件
May 02 Javascript
JavaScript获得url查询参数的方法
Jul 02 Javascript
Bootstrap每天必学之轮播(Carousel)插件
Apr 25 Javascript
AngularJS 基础ng-class-even指令用法
Aug 01 Javascript
vue.js实现备忘录功能的方法
Jul 10 Javascript
探讨Vue.js的组件和模板
Oct 27 Javascript
Vue仿支付宝支付功能
May 25 Javascript
手把手教你vue-cli单页到多页应用的方法
May 31 Javascript
vue首次赋值不触发watch的解决方法
Sep 11 Javascript
使用JS判断页面是首次被加载还是刷新
May 26 Javascript
vue实现点击追加选中样式效果
Nov 01 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如何透过ODBC来存取数据库
2006/10/09 PHP
php生成缩略图的类代码
2008/10/02 PHP
PHP源码之 ext/mysql扩展部分
2009/07/17 PHP
PHP Directory 函数的详解
2013/03/07 PHP
php中生成随机密码的自定义函数代码
2013/10/21 PHP
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
ASP中进行HTML数据及JS数据编码函数
2009/11/11 Javascript
javascript插入样式实现代码
2012/02/22 Javascript
js实现从数组里随机获取元素
2015/01/12 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
2016/01/04 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
2016/04/11 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
Ionic+AngularJS实现登录和注册带验证功能
2017/02/09 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
深入理解angular2启动项目步骤
2017/07/15 Javascript
vue父组件通过props如何向子组件传递方法详解
2017/08/16 Javascript
JavaScript设计模式之观察者模式(发布订阅模式)原理与实现方法示例
2018/07/27 Javascript
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
Python实现打印螺旋矩阵功能的方法
2017/11/21 Python
python async with和async for的使用
2019/06/20 Python
pytest中文文档之编写断言
2019/09/12 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
pd.DataFrame统计各列数值多少的实例
2019/12/05 Python
浅谈css3中的前缀
2016/07/20 HTML / CSS
玩具反斗城葡萄牙官方商城:Toys"R"Us葡萄牙
2016/10/21 全球购物
世界上最好的威士忌和烈性酒购买网站:The Whisky Exchange
2016/11/20 全球购物
捷克建筑材料网上商店:DEK.cz
2021/03/06 全球购物
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
会计专业个人求职信范文
2014/01/08 职场文书
仓管岗位职责范本
2014/02/08 职场文书
我的中国梦演讲稿500字
2014/08/19 职场文书
python执行js代码的方法
2021/05/13 Python
浅谈如何提高PHP代码质量之端到端集成测试
2021/05/28 PHP