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+CSS 制作的超级简单的下拉菜单附图
Nov 22 Javascript
多个jquery.datatable共存,checkbox全选异常的快速解决方法
Dec 10 Javascript
整理AngularJS中的一些常用指令
Jun 16 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
Apr 29 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
Apr 23 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
Jan 08 Javascript
解决使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js问题
Aug 30 Javascript
详解vue-router传参的两种方式
Sep 10 Javascript
css配合JavaScript实现tab标签切换效果
Oct 11 Javascript
vue生命周期的探索
Apr 03 Javascript
微信小程序官方动态自定义底部tabBar的例子
Sep 04 Javascript
vue-cli3 引入 font-awesome的操作
Aug 11 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之对抗Web扫描器的脚本技巧
2008/10/01 PHP
php 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
thinkphp的CURD和查询方式介绍
2013/12/19 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
JQuery AJAX 中文乱码问题解决
2013/06/05 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
使用javascript提交form表单方法汇总
2015/06/25 Javascript
AngularJS使用angular-formly进行表单验证
2015/12/27 Javascript
jQuery树形控件zTree使用小结
2016/08/02 Javascript
Vue键盘事件用法总结
2017/04/18 Javascript
使用yeoman构建angular应用的方法
2017/08/14 Javascript
vue+element 实现商城主题开发的示例代码
2020/03/26 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
vue 实现超长文本截取,悬浮框提示
2020/07/29 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
vue-router 控制路由权限的实现
2020/09/24 Javascript
Javascript实现单选框效果
2020/12/09 Javascript
python继承和抽象类的实现方法
2015/01/14 Python
Python基于FTP模块实现ftp文件上传操作示例
2018/04/23 Python
python实现排序算法解析
2018/09/08 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
2019/06/14 Python
python字典改变value值方法总结
2019/06/21 Python
从列表或字典创建Pandas的DataFrame对象的方法
2019/07/06 Python
Python pandas实现excel工作表合并功能详解
2019/08/29 Python
浅谈Python 参数与变量
2020/06/20 Python
Pycharm中使用git进行合作开发的教程详解
2020/11/17 Python
HTML5 实现图片上传预处理功能
2020/02/06 HTML / CSS
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
2014/09/15 面试题
面料业务员岗位职责
2013/12/26 职场文书
元旦文艺汇演主持词
2014/03/26 职场文书
领导干部作风整顿剖析材料
2014/10/11 职场文书
小学数学新课改心得体会
2016/01/22 职场文书
golang json数组拼接的实例
2021/04/28 Golang
Oracle表空间与权限的深入讲解
2021/11/17 Oracle