Вам нужно исправить свой код, чтобы использовать правильное имя функции и обрабатывать возвращаемый результат этой функции в виде массива. Он должен хорошо работать, за исключением очень старых браузеров, которые не имеют getElementsByClassName
(это все версии IE до IE9). Вместо этого можно использовать заменители, которые не столь эффективны, но работают путем фильтрации всех тегов в документе.
Если вам нужен только один элемент, используйте document.getElementById("idvalue")
и оперируйте идентификатором вместо имени класса. getElementById
широко поддерживается даже в старых браузерах.
Вот как ваш код может работать с именами классов:
<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>
P.S. <p>
теги отображаются: блок, а не дисплей: inline.
Для старых браузеров лучше всего использовать предварительно созданный механизм выбора, который решит все кросс-браузерные проблемы за вас. Я использовал YUI, jQuery и Sizzle (Sizzle - это механизм выбора внутри YUI и jQuery). Все бесплатно и очень хорошо.
Вы также можете просто получить некоторый код для собственной реализации getElementsByClassName, если вам нужно оставаться нативным javascript. Вот некоторые источники: http://ejohn.org/blog/getelementsbyclassname-speed-comparison/ и http://robertnyman.com/2008/05/27/the-ultimate-getelementsbyclassname-anno-2008/.
Чтобы показать вам, как все просто с jQuery, вот весь код для этого: http://jsfiddle.net/jfriend00/qP3XZ/.
HTML это:
<p class="webname">Webname</p>
<p class="webname">test</p>
<input id="hide" type="button" value="Hide Web Names" />
<input id="show" type="button" value="Show Web Names" />
Код такой:
$(document).ready(function() {
$("#hide").click(function() {
$(".webname").hide();
});
$("#show").click(function() {
$(".webname").show();
});
});