IE 11错误:对象不支持属性或方法'replace'

时间:2016-02-10 19:15:20

标签: jquery internet-explorer-11

我的jquery脚本,否则可以工作,在IE11中抛出一个错误:

错误:对象不支持属性或方法'replace'

谁能告诉我为什么?

基本上,脚本只显示/隐藏div和其他内容。它是根据用于访问页面的链接是否具有特定查询字符串来执行此操作。

要查看错误(和代码),只需在IE11中打开以下链接即可。 (必须打开脚本调试。)

https://jsfiddle.net/rpt613/dp2kcL7v/

代码......

$(document).ready(function() {
var url = window.location.href
option = url.search(/[?]option=/gi);
    if (option != -1) {
        showContent();
        changeStyle();
        removeShowLink();
    } else {
        $('div.backToTaskList, div.spacer, div.backLink').css('display' ==
        'none');
    }
    });

function showContent() {
    $('.backToTaskList, div.spacer').hide();
    $('span.toggleTaskList').hide();
    $('#RelatedTopics').hide();
}

function removeShowLink() {
        $("body").each(function() {
            if ($(this).prop("id") == 'allTask') {
                $('div.backToTaskList:contains("Show More")').each(
                    function() {
                        $(this).html($(this).html().split(
                            "Show More").join(""));
                        $("span#pipe").remove();
                    });
            }
        });
    }
    /* Restyle h2 to match styling of h1*/

function changeStyle() {
    $("h2.programmingtask").css({
        "color": "#199bd8",
        "font-weight": "normal",
        "font-style": "normal",
        "font-size": "14pt",
        "font-family": "Verdana",
        "margin-top": "45px"
    });
    /* Replace text content of h2 element with its ID attribute*/
    var replaceWith = $("h2.programmingtask, h1.programmingtask").attr('id');
    $("h2.programmingtask, h1.programmingtask").text(replaceWith);
}

1 个答案:

答案 0 :(得分:1)

就是这一行

$('div.backToTaskList, div.spacer, div.backLink').css('display' == 'none');

应该是

$('div.backToTaskList, div.spacer, div.backLink').css('display', 'none');

并且这在任何浏览器中都是错误的,因为jQuery尝试对string.replace中传递的参数使用css(),而只接收布尔值。