jQuery.html()和innerHTML在IE8中失效
代码如下:
在IE8上运行起来,下拉框中任何选项都没有,加打印发现<select>块中没有任何数据
正常现象应该是有两个选项才对
而在IE11上又能正常显示,看来是在IE8中 opt_html 中的内容没有填充进去
把
$("MDVR_MAIN_[CH]_BRM").html(opt_html);
换成原生写法
document.getElementById('MDVR_MAIN_[CH]_BRM').innerHTML
= opt_html;
现象跟之前一样,但是加打印发现<select>块中有数据,如下:
CBR</option><option value="1">VBR</option>
???什么鬼???
一番百度,google后发现,原来IE8 及以下(IE7、IE6)版本对 innerHTML 设置的内容会做检查,只有当填充的内容为一个完整的html元素时才能加载成功
根据这个思路,代码修改如下:
正常运行!
-----------------------------------------------
看到有网友说 append() 接口也有这种情况,还没求证,以后遇到这种=类情况都要注意点咯
话说 IE 的坑真的很多,前端开发最痛苦的事就是要兼容IE浏览器吧,哈哈,幸好,我是后端攻城狮