由于没装IE7,所以只试了IE6和FF3.0.4
1.用$("#tableid tr")会一并得到th.如果有thead,那么,ff会从tbody开始读tr,但ie6会从thead中开始.所以如果想要一致,就用$("#tableid
tbody tr")
2.onchange事件先于onblur发生
3.ff3.0.4中,如果焦点在input,点击其他windows操作系统的窗口,会触发input的onblur事件,这当然是正常的.问题在于,如果这个onblur事件
中有一个alert,那么你回到ff时,会发觉alert对话框是激活的,而ff标题栏是灰的,也就是说ff中的input又onblur了,你点了alert后,又会重新
弹出那个alert,然后反复如此,不过有时也会停,不明白原因,也许是ff的bug.在ie6中无此问题.最后只好不用alert,改成弹出层提示.
4.要想取得radio的值,用$("input[name=sex]").val()是不行的,要用$("input[name=sex][checked]").val(),用$("input[@name=sex]
[@checked]").val()也可以,@表示属性.
5.keypress事件中不区分小键盘,所以数字的码为48-57
6.也许是IE6的bug?用$("input[name=sex]").val([1])来设置,在有个页面很正常,在另一个页面不正常...试了很多种办法,把两个页的代码复
制来复制去,在正常页面始终正常,在不正常的页面,复制过来的代码也能正常设置...在FF中总是对的...想了N多办法,后来想,是不是因为
thickbox的原因,因为这个在ie中不能正常设置的radio是在thickbox弹出的层中....我把这个层的display改为正常显示,竟然发觉,即使是通过
其他代码设为比如1,但是弹出层中还是最初checked的0.后来想,这会不会是弹出层时把radio重置了?因为已经修改了thickbox,现在显示调用
thickbox的弹出函数,所以把$("input[name=sex]").val([1])加在弹出语句后.哈,这下就成功了!然后发觉,在弹出层消失后,radio还是会重置.
当然那个时候没使用,也就没关系.我粗扫了一下thickbox代码,没发觉与这有关的东西.在同一个弹出层的select,却又不会重置.真是奇怪.也许
是IE6在移动div时会自动重置radio到最最初的checked?没时间测试,暂时只有按刚才的办法,先弹出,再$("input[name=sex]").val([1]).
后来在网上查到,IE在改变了DOM后了,会重置radio和checkbox,就象reset一样,解决办法是同时设置defaultChecked属性,见
http://www.never-online.net/blog/article.asp?id=227
IE在DOM操作有表单控件时的bug
7.开始测试时,IE6函数内的变量名不能和已有的html元素的id相同,但全局变量却可以.后来再测试时,似乎又可以同名了.不明白,不过最好不要
取相同的.
8.在IE下用getAttribute时要小心,官方文档说:
返回一个定义attribute时的字符串,数字,或者布尔值,如果这个已有属性不存在,则是一个空字符串,如果一个自定义的attribute不存在
,则返回null。
在
http://www.never-online.net/blog/article.asp?id=228
在IE下用getAttribute时要小心
这篇文章中说,两个联动的select,第一个option都为空值,但是在第一个select选空时,第二个不会跟着选这个,而是会无法显示当前选中,非要
在getAttribute后强制转型,即+""才可以.但是,用typeof看,这个值本来就是string.
9.可以用select元素的value属性得到或设置当前选中.按书上的说法,没有option被选中的时候,selectedIndex的值为-1,但是,似乎还是一样可
以得到值,就是头一个吧
10.下面这篇文章很实用
ie与firefox上javascript和CSS的区别
http://hi.baidu.com/j2me/blog/item/3e549245fe113a3a87947392.html
11.IE6没有正确地实现Array.splice,如果只有一个参数,那么IE6会不作任何事情.解决办法是:arr.splice(3,arr.length-3)这样的
12.FF中如果引用了一个-1这样的下标,可能会造成程序无法运行.没有更进一步测试
阅读(1071) | 评论(0) | 转发(0) |