javascript - Angular JS 中的 DOM 查询; $ (".myclass").each() 替代

标签 javascript jquery angularjs

<分区>

我对 Angular JS 比较陌生,而且我已经使用 jQuery 很长时间了。这就是为什么我一直很难将我内部的 jQuery 转换为 Angular。 :D

我想知道我们如何以 Angular 执行 DOM 查询。 基本上,我面临着必须做这样的事情的情况

$(".myClass").each(function(){
   $(this).doSomething();
})

任何人都可以建议我一个 Angular 程序员如何做这样的事情。

谢谢

最佳答案

angularjs 中的 DOM 操作不应该在 Controller 、服务等中......但它应该在唯一的一个地方 directives......

如果你想操作 DOM,你应该使用指令并在其中进行操作......

这里有一些关于 angularjs 中的 DOM 操作的好文章...

Best Practice - Dom Manipulations

DOM Manipulation in AngularJS — Without jQuery

现在让我们尝试创建一个您想要的指令。看起来你想通过他们的类选择它们来操纵元素。好的,没问题,所以我们需要创建一个指令,其中 restrict:'C' 表示 CLASS...

这是我们的指令声明...(显示所有内容的详细版本)

app.directive('myClass',function(){
    // Runs during compile
    return {
        // name: '',
        // priority: 1,
        // terminal: true,
        // scope: {}, // {} = isolate, true = child, false/undefined = no change
        // controller: function($scope, $element, $attrs, $transclude) {},
        // require: 'ngModel', // Array = multiple requires, ? = optional, ^ = check parent elements
        restrict: 'C', // E = Element, A = Attribute, C = Class, M = Comment
        // template: '',
        // templateUrl: '',
        // replace: true,
        // transclude: true,
        // compile: function(tElement, tAttrs, function transclude(function(scope, cloneLinkingFn){ return function linking(scope, elm, attrs){}})),
        link: function($scope, iElm, iAttrs, controller) {
            console.log('Here is your element', iElm);
                    // DO SOMETHING
        }
    };
});

这里是 PLUNKER ...

关于javascript - Angular JS 中的 DOM 查询; $ (".myclass").each() 替代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24155171/

相关文章:

angularjs - : [$injector:unpr] Unknown provider in angularjs can't inject factory into controller

javascript - Angular Http put 方法在传递数据时出错(服务器期望表单 param )

javascript - 带变量的跨浏览器 CSS3 转换 jQuery 函数

jquery - 图像悬停菜单CSS位置拖动其他菜单项内容

javascript - js 在 Div 中查找类 + 切换 CSS/隐藏一个显示其他

javascript - window.location 麻烦的 JQuery 代码

javascript - 选择之前输入的 jQuery

javascript - 获取 Spotify 用户当前播放的轨道名称 [Web API]

javascript - 基于数组对对象进行排序以生成排序数组

angularjs - 动态设置 Protractor baseUrl