我正在尝试使用getElementsByClassName来隐藏页面上的一些元素。我在这里使用了第一个答案:
What is an alternative to using getElementByClass for hiding multiple elements?
编写我自己的代码,它适用于Chrome和FF,但不适用于IE9。我读过的所有内容都说getElementsByClassName应该可以在IE9中运行。下面的代码不是放置我自己的代码,而是来自上面链接的答案,因为它类似于我自己的并且已经紧凑。当我将它加载到IE9时,按钮什么都不做(在Chrome和FF中很好)。如果我把try和catch函数中的代码放在一起,它会说对象错误。它应该有效吗?
<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>
答案 0 :(得分:5)
你可能处于怪癖或兼容模式。 IE9需要标准模式。
不要忘记HTML文档顶部的<!doctype html>
,<meta http-equiv="X-UA-Compatible" content="IE=edge" />
中可能<head>
。