Maison > interface Web > js tutoriel > 解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)_javascript技巧

解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)_javascript技巧

WBOY
Libérer: 2016-05-16 18:27:21
original
1081 Les gens l'ont consulté

前言:
这是一个老bug了,现在提供一个完美解决方案。由于我一直是用createElement来创建动态的option并添加,所以一直没有遇到这个问题,但是每个人写代码风格不同,有的人就喜欢写字符串形式的标签并用innerHTML插入,这不就有问题了,为了方便不同编码风格的人,我封装了一个方法,用于解决ie的这个bug和兼容5大浏览器,这样大家都可以用一个方法来实现不同的风格,便于维护管理。

bug描述:
在ie下面使用innerHTML来插入option选项的话,ie会去掉前面的

复制代码 代码如下:

      var sltObj=document.getElementById('xx');//获取select对象,这里只是给个例子,可以按自己习惯来获取
      function addOption(obj, arg) {
if (b$.type.isElement(arg)) {
if (b$.browser.isIE()) obj.add(arg);
else obj.add(arg, null);
return;
}
var str = '';
var slt = b$.parseDom(str)[0];
for (var i = 0, num = slt.length; i obj.appendChild(slt[0]);
}
};

  使用:
复制代码 代码如下:

    addOption(sltObj, '');


END
到这里就结束了,在这里向大家推荐一个我自己写的js框架,上面的这个方法集成在框架里面了
使用:b$('obj').addOption(arg);

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal