快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

澳门真人线上娱乐:解决IE下select标签innerHTML插入option的BUG(兼容IEFFOperaChromeSafari)



媒介:

这是一个老bug了,现在供给一个完美办理规划。因为我不停是用createElement来创建动态的option并添加,以是不停没有碰到这个问题,然则每小我写代码风格不澳门真人线上娱乐合,有的人就爱好写字符串形式的标签并用innerHTML插入,这不就有问题了,为了方便不合编码风格的人,我封装了一个措施,用于办理ie的这个bug和兼容5大年夜浏览器,这样大年夜家都可以用一个措施来实现不合的风格,便于掩护治理。

bug描述:

在ie下面应用innerHTML来插入option选项的话,ie会去掉落前面的,并拆分成多个节点,这样会造成select的掉足,不是没有插进去,而是节点在转换时出问题了,微软对这个bug也有描述,并供给了两个办理澳门真人线上娱乐规澳门真人线上娱乐划,大年夜家可以自己搜索一下,我大年夜概提下微软的两个规划。

1,应用createElement,这个是正规渠道,要掉足还真有问题了。

2,插入完备的select字符串,到div中。

实现:

道理:

既然是应用innerHTML的人,肯定是想用字符串来插入option了,这里主要便是办理这各人群,当然你也可以传入createElement工具来插入。

对付传入的参数会做个判断,看是elementObj照样字符串,假如是elementObj那么就应用标澳门真人线上娱乐准的add措施加入,并做兼容处置惩罚。假如是字符串则应用div包装完备的select并转换成dom工具用appendChild来加入澳门真人线上娱乐。

留意:

b$.type.isElement(arg)是bBank里面用来判断工具是否是element元素的措施

b$.browser.isIE()是bBank里面用来判断是否是ie的措施

b$.parseDom(str)是bBank里面用来转换字符串为标准dom的措施,在我前面的博客中有专门解说

bBank 框架先容:http://www.cnblogs.com/bruceli/archive/2010/04/15/bBank.html

复制代码 代码如下:

您可能还会对下面的文章感兴趣: