未定义不是一个功能

use*_*806 0 javascript

目前正在学习本机JS并尝试创建交互式菜单.

单击menuBtn后我正在尝试运行一个函数,但我在控制台中有以下错误.

undefined is not a function 
Run Code Online (Sandbox Code Playgroud)

问题的全球功能在这里?

(function () {
        'use strict';

        var menuBtn = document.getElementsByClassName('btn-nav');

        menuBtn.addEventListener('click', function() {
            console.log('clicked');
        }, false);

}());
Run Code Online (Sandbox Code Playgroud)

HTML

<a href="#" class="btn-nav">
    <span></span>
    <span>Menu</span>
    <span></span>
</a>
Run Code Online (Sandbox Code Playgroud)

小智 8

您正在尝试将事件侦听器添加到NodeList.你需要获得一个元素.

var menuBtn = document.getElementsByClassName('btn-nav')[0];