按标识

时间:2018-03-15 00:01:04

标签: javascript jquery

有下一个玉/帕格代码:

#pm_language.dropdown(aria-haspopup='true', aria-expanded='false')
      button#langbutton.btn.btn-primary.dropdown-toggle(type='button', data-toggle='dropdown') Lang [RU]
      .dropdown-menu.dropdown-menu-right
        a#1.dropdown-item.active(href='#ru') Русский
        a#2.dropdown-item(href='#en') English

所以我们的想法是切换锚定活动类

我尝试对#pm_language容器中的所有锚元素进行一些迭代,找到id =='2'但没有运气的那个:

 $('#pm_language').each( $('a'),

            function(i) {

                var elem = $(this);
                var id =  elem.attr('id');

                if ( id == '2' ) {
                    if ( !elem.hasClass('active') ) {
                        elem.addClass('active');
                    }
                } else
                    elem.removeClass('active');
            }
        );

有人能指出我的鼻子在哪里错了吗?

1 个答案:

答案 0 :(得分:1)

如果您知道id - 为什么要尝试找到它? - 从所有<a>中删除该类,然后定位您想要拥有活动类的类。顺便说一下 - 在下拉菜单类中使用ul更常见 - 然后使用'<li>'元素来容纳'<a>'元素。然后活跃的类进入li - 而不是a。

但是下面的代码是从现有的a中删除活动类,然后将其添加到所需的类中。

$('.dropdown-menu a').removeClass('active');
$('#2').addClass('active');