我的html标题有:
<meta http-equiv="X-UA-Compatible" content="IE=7" >
在javascript中我使用:
showButtons: function() {
$$("#score-window .buttons")[0].show();
},
在除IE9,10之外的所有浏览器中,它都非常完美。 在IE9,10中,第一次调用函数是正常的,但是接下来失败是因为$$返回“undefined”并且调用show()破坏了代码。
更新项目中包含的原型1.6.0.2。
答案 0 :(得分:1)
这有两个修复 - 第一个是直接修复
$$('#score-window .buttons').invoke('show');
这将遍历与CSS选择器匹配的所有元素并在其上运行show()
仅在.buttons
#score-window
的元素时才使用此选项
这会起作用而不会抛出错误,好像没有与选择器匹配的元素不会触发invoke()
或强>
第二个修复我会检查元素是否存在然后显示
if($$('#score-window .buttons').length > 0) {
$$("#score-window .buttons")[0].show();
}
这些修复将直接修复错误 - 但是我认为你有一个不同的核心问题需要深入研究,以找出CSS选择器第二次没有找到元素的原因。此外,如果您能够升级到PrototypeJS 1.7.1。