我有以下几行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中包含一个非断裂空间。