我有一个指令,在这个指令中我想操纵滚动上的一些元素。目前我正在使用:
angular.element( document.getElementsByClassName('splash-content') );
哪个好,但看起来效率不高。
我真正想做的是将选择器限制为调用该指令的元素的范围(子元素)。在jQuery中,我使用element.find('.splash-content')
或element.children('.splash-content')
,但在angularjs中,您似乎无法在这些方法中添加选择器。
那么,最好(也是最有效)的“角度”方式怎么做?
谢谢!
答案 0 :(得分:1)
我创建了一个简单的小提示,展示了如何在不包含jQuery怪物的情况下完成此类操作:http://jsfiddle.net/ADukg/4769/
例如,将它放在你的指令中:
var childFind = function(children, className, results) {
for(var i=0; i<children.length; i++){
var child = angular.element(children[i]);
if(child.hasClass(className)){
results.push(child);
}
childFind(child.children(), className, results);
}
}
childFind(children, 'one', results);
显然,这种事情并不像jQuery提供的方法那样广泛或完整,但是如果你只需要一些小的一次性功能,我会选择在这里和那里添加一个简单的帮助函数而不需要jQuery。