我正在努力弄清楚爲什麼我的代碼不工作。這裏是JS的一部分:Javascript - 無法獲取'getElementsByClassName'工作
function init() {
var showMenu = document.getElementsByClassName('showMenu'),
perspectiveWrapper = document.getElementById('perspective'),
container = perspectiveWrapper.querySelector('.container'),
contentWrapper = container.querySelector('.wrapper');
showMenu.addEventListener(clickevent, function(ev) {
ev.stopPropagation();
ev.preventDefault();
docscroll = scrollY();
// change top of contentWrapper
contentWrapper.style.top = docscroll * -1 + 'px';
// mac chrome issue:
document.body.scrollTop = document.documentElement.scrollTop = 0;
// add modalview class
classie.add(perspectiveWrapper, 'modalview');
// animate..
setTimeout(function() { classie.add(perspectiveWrapper, 'animate'); }, 25);
});
}
下面是HTML的一部分:
<div id="topBar">
<h1>Company</h1>
<a href="#" class="entypo-menu showMenu"></a>
</div>
<div class="line"></div>
<div id="fixedBar">
<h1>Company</h1>
<a href="#" class="entypo-menu showMenu"></a>
</div>
出於某種原因,當我加載頁面時,我得到這個錯誤:
TypeError: undefined is not a function (evaluating 'showMenu.addEventListener')
我不明白,因爲如果我改變這條線:
var showMenu = document.getElementsByClassName('showMenu'),
至:
var showMenu = document.getElementById('showMenu'),
它的確行得通!
爲什麼類選擇器不能正常工作,但是id會不會?我試圖讓這兩個鏈接與類showMenu
執行JS。