Angular JS中的DOM查询$(“.myclass") . each()的选择
DOM Query in Angular JS ; $(".myclass").each() Alternative
我对Angular JS比较陌生,我已经使用jQuery很长时间了。这就是为什么我一直很难将我体内的jQuery转换成angular的原因。: D
我想知道我们如何在angular中执行DOM查询。基本上,我面临的情况是,我必须做这样的事情
$(".myClass").each(function(){
$(this).doSomething();
})
有谁能告诉我一个angular程序员怎么做这样的事情吗?
谢谢
angularjs中的DOM操作不应该在controller, services等…但是如果它应该在唯一的地方指令…
如果你想操作一个DOM,你应该使用指令,并使你的操作在那里…
这里有一些关于angularjs中DOM操作的好文章…
最佳实践- Dom操作
AngularJS中的DOM操作-不使用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
}
};
});
$('selector')
可选为angular.element('selector')
, $.each
可选为angular.forEach
。因此,您的代码看起来像:
var els = angular.element('.myClass');
angular.forEach(els, function( el ){
angular.element(el).doSomething();
})
相关文章:
- 铬:“;未捕获的语法错误:意外的标记:"
- jquery.each(第2行)添加背景色
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 如何使用jQuery each分离字符串中的元素
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- "日期“;AJAX请求返回的类型值未定义
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- "工具提示"jQuery插件坏了
- "this.collection.each不是函数;.应该'它不是简单地说“;每个”;
- 使用函数"each"创建多个数组;从jQuery
- Angular JS中的DOM查询$(“.myclass") . each()的选择