JQuery Hide Option在IE 11中不起作用

时间:2013-12-05 10:35:11

标签: javascript jquery internet-explorer

我使用此代码隐藏IE中的选项,并且除了IE 11之外,它在所有浏览器中都能正常工作 这里是隐藏和显示选项的代码

$("[id*=dllStates] option").each(function (index, val) {
            if ($(this).is('option') && (!$(this).parent().is('span')))
                $(this).wrap((navigator.appName == 'Microsoft Internet Explorer') ? '<span>' : null).hide();
        });

并显示我使用此

var counterIE = 0;
            $("[id*=dllStates]").next().children().html("Select Supplier");
            for (i = 0; i < supplierID.length; i++) {
                $("[id*=dllStates] option").each(function (index, val) {
                    if (navigator.appName == 'Microsoft Internet Explorer') {
                        if (this.nodeName.toUpperCase() === 'OPTION') {
                            var span = $(this).parent();
                            var opt = this;
                            if ($(this).val() == supplierID[counterIE]) {
                                if ($(this).parent().is('span')) {
                                    $(opt).show();
                                    $(span).replaceWith(opt);
                                }
                            }
                        }
                    }
                });
                counterIE = counterIE + 1;
            }

为什么这不适用于IE 11谢谢

1 个答案:

答案 0 :(得分:1)

在IE11中,navigator.appName不是'Microsoft Internet Explorer',实际上是'Netscape'