ie的bug及兼容性

ie,特别是旧版ie,这里指ie9之前的ie一直是一朵奇葩的存在,充满无数bug及怪异性,它的恶行罄竹难书,说多了都是泪,下面指出来的bug及兼容性可能在每个版本都不同,请留意!
1、insertBefore的bug
如果创建new Option(text, value),再将option通过insertBefore插入到元素前面,可能会出现text无法显示,但value正常的情况。
解决方法:是insertBefore完后再对该option赋text值。
2、undefined还是语法错误?!
如果未选中selectObj中的option,selectedIndex值将会是多少?ff与ie返回的都是-1,不同的是如果使用selectedObj.options[-1],ff返回undefined,而ie直接报语法错误,因为selectedIndex必须真实存在。这种问题在旧版本ie中无处不在,它的错误提示让人无法debug。
解决方法:先判断
if (selectObj.selectedIndex > 0) {
var op = selectObj.options[selectObj.selectedIndex];
}
posted @ 2014-01-15 23:41  sumsung753  阅读(158)  评论(0编辑  收藏  举报