getElementsByClassName and IE9



我正在尝试使用getElementsByClassName来隐藏页面上的一些元素。我在这里使用了第一个答案:

使用getElementByClass隐藏多个元素的替代方法是什么?

编写我自己的代码,它可以在Chrome和FF中工作,但在IE9中不起作用。我读到的所有内容都说getElementsByClassName应该在IE9中工作。下面的代码不是放我自己的代码,而是上面链接中的答案,因为它与我自己的代码相似并且已经很紧凑。当我将其加载到IE9中时,按钮什么都不做(在Chrome和FF中很好)。如果我在函数中的代码周围放置尝试并捕获,它会说对象错误。 它应该工作吗?

<head>
<script type="text/javascript">
function hideNames()
{
 var list = document.getElementsByClassName("webname");
for (var i = 0; i < list.length; i++) {
    list[i].style.display="none";
}
}
function showNames()
{
var list = document.getElementsByClassName("webname");
for (var i = 0; i < list.length; i++) {
    list[i].style.display="block";
}
}
</script>
</head>
<body>
<p class="webname">Webname</p>
<p class="webname">test</p>
<input type="button" onclick="hideNames()" value="Hide Web Names" />
<input type="button" onclick="showNames()" value="Show Web Names" />
</body>
您可能

处于怪癖或兼容模式。IE9 需要标准模式。

不要忘记您在 HTML 文档顶部的<!doctype html>,也许<meta http-equiv="X-UA-Compatible" content="IE=edge" /><head> 中。

最新更新