getElementsByClassName problem [duplikat]

To pytanie ma już tutaj odpowiedź:

Co zwracają metody querySelectorAll i getElementsBy *? 9 odpowiedzi

Mam problem z właściwością getElementsByClassName. Mam funkcję pokazywania i ukrywania, która wyświetla przycisk po najechaniu na produktKliknij tutaj Włączyłem tę funkcję za pomocą właściwości getElementById, jednak ze względu na fakt, że chcę powielać tę funkcję przy użyciu klasy, jest lepsza praktyka. Czy kod poniżej jest prawidłowym sposobem rozwiązania tego problemu przy użyciu funkcji ClassName JS?

Czytałem też, że getElementsByClassName nie jest obsługiwane w IE8, czy to prawda i czy istnieje sposób na obejście tego problemu?

  <script>    
  function show(viewProductBtn){
document.getElementByClassName(viewProductBtn).style.visibility = "visible";
}

function hide(viewProductBtn) {
document.getElementByClassName(viewProductBtn).style.visibility = "hidden";
}
</script>

<!--HTML-->
<div class="product-shot-bg" onMouseOver="show('viewProductBtn')"      onMouseOut="hide('viewProductBtn')">
        <a href="#" class="viewProductBtn"></a>

obecnie przełączyłem moją witrynę dev na getByID, aby zademonstrować, jak przejście powinno działać.

questionAnswers(1)

yourAnswerToTheQuestion