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 相关文章推荐
DOM相关内容速查手册
Feb 07 Javascript
初窥JQuery(二) 事件机制(1)
Nov 25 Javascript
JQuery给元素添加/删除节点比如select
Apr 02 Javascript
jQuery自制提示框tooltip改进版
Aug 01 Javascript
Javascript中的对象和原型(二)
Aug 12 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
Jun 15 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
Jul 18 Javascript
详解Vue2 添加对scss的支持
Jan 02 Javascript
vue组件之间的数据传递方法详解
Apr 19 Javascript
JavaScript实现背景自动切换小案例
Sep 27 Javascript
JavaScript实现简单的图片切换功能(实例代码)
Apr 10 Javascript
vue内置组件component--通过is属性动态渲染组件操作
Jul 28 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中实现简单的ACL 完结篇
2011/09/07 PHP
PHP实现根据时间戳获取周几的方法
2016/02/26 PHP
thinkphp分页集成实例
2017/07/24 PHP
Laravel下生成验证码的类
2017/11/15 PHP
php对微信支付回调处理的方法
2018/08/23 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
2019/03/30 PHP
php7新特性的理解和比较总结
2019/04/14 PHP
经验几则 推荐
2006/09/05 Javascript
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析
2016/12/01 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
2016/12/19 Javascript
Javascript中常用类型的格式化方法小结
2016/12/26 Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
2017/01/12 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
原生JS控制多个滚动条同步跟随滚动效果
2017/12/22 Javascript
基于IView中on-change属性的使用详解
2018/03/15 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
JavaScript使用prototype属性实现继承操作示例
2020/05/22 Javascript
Vue使用CDN引用项目组件,减少项目体积的步骤
2020/10/30 Javascript
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python简单生成随机姓名的方法示例
2017/12/27 Python
Python将多个excel文件合并为一个文件
2018/01/03 Python
python三大神器之fabric使用教程
2019/06/10 Python
如何在 Django 模板中输出 &quot;{{&quot;
2020/01/24 Python
Django-rest-framework中过滤器的定制实例
2020/04/01 Python
python 多线程共享全局变量的优劣
2020/09/24 Python
python 读取串口数据的示例
2020/11/09 Python
HTML5画渐变背景图片并自动下载实现步骤
2013/11/18 HTML / CSS
J2EE中常用的名词进行解释
2015/11/09 面试题
房地产营销策划方案
2014/02/08 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
爱国影片观后感
2015/06/18 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书
为什么代码规范要求SQL语句不要过多的join
2021/06/23 MySQL
MySQL主从切换的超详细步骤
2022/06/28 MySQL