编程语言
首页 > 编程语言> > javascript-带有JQuery 1.7的IE8“对象不支持此属性或方法”

javascript-带有JQuery 1.7的IE8“对象不支持此属性或方法”

作者:互联网

在IE 8中执行以下代码时,控制台将为第4行字符4显示错误“对象不支持此属性或方法”.这仅在IE 8中发生.我使用的是jquery-1.7.1.min. js

    $(document).ready(function () {
    var states = ["NEW YORK",
                  "PUERTO RICO",
                  "ALABAMA",
                  "ALASKA",
                  "AMERICAN SAMOA",
                  "ARIZONA",
                  "ARKANSAS",
                  "CALIFORNIA",
                  "COLORADO",
                  "CONNECTICUT",
                  "DELAWARE",
                  "DISTRICT OF COLUMBIA",
                  "FEDERATED STATES OF MICRONESIA",
                  "FLORIDA",
                  "GEORGIA",
                  "GUAM",
                  "HAWAII",
                  "IDAHO",
                  "ILLINOIS",
                  "INDIANA",
                  "IOWA",
                  "KANSAS",
                  "KENTUCKY",
                  "LOUISIANA",
                  "MAINE",
                  "MARSHALL ISLANDS",
                  "MARYLAND",
                  "MASSACHUSETTS",
                  "MICHIGAN",
                  "MINNESOTA",
                  "MISSISSIPPI",
                  "MISSOURI",
                  "MONTANA",
                  "NEBRASKA",
                  "NEVADA",
                  "NEW HAMPSHIRE",
                  "NEW JERSEY",
                  "NEW MEXICO",
                  "NORTH CAROLINA",
                  "NORTH DAKOTA",
                  "NORTHERN MARIANA ISLANDS",
                  "OHIO",
                  "OKLAHOMA",
                  "OREGON",
                  "PALAU",
                  "PENNSYLVANIA",
                  "RHODE ISLAND",
                  "SOUTH CAROLINA",
                  "SOUTH DAKOTA",
                  "TENNESSEE",
                  "TEXAS",
                  "UTAH",
                  "VERMONT",
                  "VIRGIN ISLANDS, U.S.",
                  "VIRGINIA",
                  "WASHINGTON",
                  "WEST VIRGINIA",
                  "WISCONSIN",
                  "WYOMING"];
    var _events = "change focusout";

    $("[name='payToBankState'], [name='amount'], [name='customerType'], [name='usdEquivalent'], [name='currency']").live(_events, function(event) {
        if($("[name='customerType']").val() == "Person" && states.indexOf($("[name='payToBankState']").val()) < 0) {
                if($("[name='currency']").val() == "USD") {
                    if($("[name='amount']").val() > 15 ) {
                        $("[name='pfhTran']").attr('checked', true);
                        $("[name='pfhTran']").removeAttr('disabled');
                    }
                    else {
                        $("[name='pfhTran']").removeAttr('checked');
                        $("[name='pfhTran']").attr('disabled', true);
                    }
                }
                else if ($("[name='usdEquivalent']").val() > 15) {
                    $("[name='pfhTran']").attr('checked', true);
                    $("[name='pfhTran']").removeAttr('disabled');
                }
                else {
                    $("[name='pfhTran']").removeAttr('checked');
                    $("[name='pfhTran']").attr('disabled', true);
                }
        }
        else {
            $("[name='pfhTran']").removeAttr('checked');
            $("[name='pfhTran']").attr('disabled', true);
        }

    });
});

解决方法:

方法“ indexOf”不是IE8数组方法的一部分.您应该可以使用jQuery.inArray:http://api.jquery.com/jQuery.inArray/快速解决此问题

更改:

states.indexOf($("[name='payToBankState']").val()) < 0

至:

$.inArray($("[name='payToBankState']").val(), states) < 0

标签:javascript,jquery,internet-explorer-8
来源: https://codeday.me/bug/20191028/1951715.html