jquery - 事件类被添加到 HTML 而不是它的属性

标签 jquery css angularjs angular-directive

我有一个导航菜单,我想在它被点击后添加一个 active 类。除了该元素不接收 active 类中的属性,它只是作为一个类添加到 HTML 之外,它的效果很好。我还尝试在我的指令中使用 $compile 以确保添加 active 类,但它仍然不起作用。我在这里缺少什么?

HTML:

<ul id="app-navigation" class="clearfix list">
    <li data-my-active-class>
        <img src="images/add.png" no-repeat class="nav-image">
    </li>
    <li data-my-active-class>
        <img src="images/edit.png" no-repeat class="nav-image">
    </li>
    <li data-my-active-class>
        <img src="images/delete.png" no-repeat class="nav-image">
    </li>
</ul>

指令:

shoppingApp.directive('myActiveClass', ['$compile', function($compile) {

    return {
        restrict: 'A',
        link: function($scope, element, attrs) {

            element.on('click', function() {

                element.parent().children('.active').removeClass('.active');
                element.addClass('.active');
            });

            $compile(element)($scope);
        }
    }
}]);

CSS:

.active {
    background: red;
}

最佳答案

在你的 addClassremoveClass 中让它成为 active 而不是 .active

关于jquery - 事件类被添加到 HTML 而不是它的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29043420/

相关文章:

javascript - 获取 Angular js中两个下拉值的平均值

javascript - 默认选择的选项在 angularjs 中不起作用

javascript - 有没有更动态的方式使用 php 和 javascript 调用多个 a 标签

javascript - 使用 Jquery 针对 css 背景图像加载程序

Javascript,停止 preventDefault() 传递给子元素

html - 如何向我的网站添加类似于页眉的页脚?

javascript - 我需要我的 javascript 代码来通过代码块检索 id

CSS Transitions 仅适用于 FF Nightly (18.0a1)?

html - 可以仅使用一个 div 在填充内部放置边框吗?

javascript - ionic ionic 导航按钮 ng-如果第一次加载不起作用