尝试用jquery切换Bootstrap按钮文本onclick

时间:2015-01-10 16:04:52

标签: jquery twitter-bootstrap mobile navigation

我有一个移动导航,想要替换bootstrap折叠按钮的文本。如果单击“菜单”,请更改为“X”。如果单击“X”,请更改为“菜单”。 jsfiddle

$(document).ready(function() {
    $('.navbar-toggle').on('click', function () {
        if (matchMedia('(max-width: 767px)').matches) {
        var menu_text = $('.navbar-toggle').text();
            if(menu_text == 'X' ){
                $('.navbar-toggle').text("Menu");
            }
            elseif (menu_text == 'Menu'){
                $('.navbar-toggle').text("X");
            }
        }

    });
});

1 个答案:

答案 0 :(得分:0)

之所以没有按照您想要的方式工作,是因为它将所有文本都放在该按钮内。这意味着需要“切换导航菜单”。你必须摆脱它,并且修剪ext,以便比较可以像预期的那样工作。要考虑的其他因素是大写字母与小写字母不同。 “菜单”和“菜单”与计算机不同。

这是固定代码:

    $(document).ready(function() {
    $('.navbar-toggle').on('click', function () {
        if (matchMedia('(max-width: 767px)').matches) {
           // alert('ENTERED');
            var temptxt = $('.navbar-toggle span').text().trim();
            $('.navbar-toggle span').text('');

        var menu_text = $('.navbar-toggle').text().trim();

            //alert(menu_text);
            if(menu_text == 'X' ){

                $('.navbar-toggle').text("MENU");
            }
            else if (menu_text == 'MENU'){

                $('.navbar-toggle').text("X");
            }
        }
       $('.navbar-toggle span').text(temptxt); 

    });
});

哦!而且我忘了提到,控制台因为 elseif 而给我一个错误所以我只是分成了其他如果这就像魅力一样。