Javascript and Internet explorer 8 error



我有以下几行JavaScript:

function SetTabIndex() {
    var test = document.getElementsByTagName("input");
    for (var i = 0; i < test.length; i++) {
        var cssText = test[i].getAttribute('style'),
            tabindex = cssText.match(/tabindexs*:s*(d+)/);
        if (tabindex) {
            test[i].setAttribute('tabindex', tabindex[1]);
        }
    }
}

当我本地运行此操作时,脚本将运行并完全执行我想要的。但是,当我将其放在目标系统上(只有IE8并且无法更新)时,代码不会运行。

我已经检查了我的日志,我会收到以下错误:

对象不支持此属性或方法

当我单击旁边的链接时,它将带我进入以下代码行:

tabindex = cssText.match(/tabindexs*:s*(d+)/);

我已经尝试取出一些正则代码,但它仍然引发错误。当我拿走那条线并投入一些控制台输出时,一切正常。

即使我在我更新的IE上本地对其进行了本地对其进行测试,它是否可以在IE8上进行ie8的ie8,这是有一个特殊的原因。

在Internet Explorer 8 JScript正则表达式错误中给出了以下答案:

这里的问题是,JavaScript中的"s"不包括IE中的非断裂空间,而是在FF中包含一个非断裂空间。

最新更新