可能你第二次点击的不是li元素,而是li元素中的a标签,无论点击li还是a,都是会触发你写的那个click事件的你写的方法明显是必须点击li才可以,点击a就会报错了正常a标签点击就是会跳转页面的,为什么还要写事件去支持出发它如果你非要你那么写,click事件里面要首先判断 点击触发的是什么元素,通过 event.target||event.srcElement获取,判断如果是li执行你上面写的代码,如果是a,你就重新写下逻辑。