javascript – Angular JS中的DOM查询; $(“.myclass”).each()替代

参见英文答案 > What is the alternative for jquery each in angularjs?2个
我是Angular JS的新手,我已经使用jQuery很长一段时间了.这就是为什么我一直很难将我内部的jQuery转换为有角度的. :d

我想知道如何在角度中执行DOM查询.
基本上,我面临的情况是我必须做这样的事情

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

任何人都可以建议我角度程序员如何做这样的事情.

谢谢

解决方法

angularjs中的DOM操作不应该在控制器,服务等中…但它应该只在一个地方指令…

如果你想操纵一个DOM,你应该使用指令并在那里进行操作……

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

Best Practice – Dom Manipulations

DOM Manipulation in AngularJS — Without jQuery

现在让我们尝试创建一个你想要的指令.看起来你想通过他们的类选择它们来操纵元素.好吧没问题所以我们需要创建一个限制的指令:’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 ……

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...