.addClass和.removeClass方法的jQuery问题

时间:2019-04-24 23:51:47

标签: jquery html css twitter-bootstrap

我正在尝试在页面上创建动态菜单,但无法jQuery来完成这项工作。该代码将是不言自明的。

所以我有一个叫做.dead的类,它在CSS中基本上是display: none;,是一个div的.header-main,而当需要弹出时是.header-main-menu我按下按钮。

$(document).ready(function () {
    var trigger = $('a.header-main'),
    var mainstuff = $('.header-main'),
    var menustuff = $('.header-main-menu');

    function buttonSwitch() {
        mainstuff.addClass('.dead');
        menustuff.removeClass('.dead');
        trigger.click(function () {
            buttonSwitch();
        });
    }
});

当我单击按钮时,没有任何反应。我是jQuery的新手,非常感谢您抽出宝贵的时间为您提供帮助。 :)

1 个答案:

答案 0 :(得分:1)

使用addClass()removeClass()(或toggleClass())时,名称中不需要点。只需使用类名即可。

mainstuff.addClass('dead');
menustuff.removeClass('dead');

此外,当您选择元素时,请决定是否要结束每条线或链的选择。如果将它们链接在一起,请不要再使用var

这是有效的:

var trigger = $('a.header-main'),
mainstuff = $('.header-main'),
menustuff = $('.header-main-menu');

这也是有效的:

var trigger = $('a.header-main');
var mainstuff = $('.header-main');
var menustuff = $('.header-main-menu');

根据您的HTML,触发器选择器不匹配任何内容,因此您必须解决该问题,即$('.main-button > a')。 如果想同时显示html,css和js,请使用codepen或其他名称。

相关问题