示例
请考虑Plunkr。
我需要什么
我需要能够通过它的id来获取元素。
示例代码应该能够将css类分配给当前视图中存在的任何DOM元素。
应使用源对象检查,由控制器中的$ scope提供。此源对象可能/将具有比视图上的输入元素更多的属性。
所以我想循环遍历每个对象键,看看是否存在相应的DOM元素。如果是这样,请验证它的价值。
问题
我如何通过id获取元素,仅使用AngularJS(不允许使用jQuery !!)?
特别是对于Plunkr,我需要这个功能(真的)工作:
self.IsFieldCurrentlyActive = function(field){
// Should be (in pseudocode):
// var inputElement = angular.find(field);
// return (inputElement != 'undefined');
// Sample only
var idx = field.indexOf('Unused');
return idx == -1;
};
这一个(基本相同):
self.GetElementByKey = function(key)
{
// Should be (in pseudocode):
// var inputElement = angular.find(field);
// return inputElement;
// Sample only
return null;
}
更新
道歉,我忘了添加一个重要的要求:我不能使用任何假定唯一ID的机制,因为可能会出现多次相同形式(以及相同的ID)。所以,我需要尊重Angular范围。谢谢!
答案 0 :(得分:10)
在纯JS中,您可以document.querySelector('#myID');
使用angular.element在angular中:
angular.element(document.querySelector('#myID'));
答案 1 :(得分:1)
而是尝试angular.element($('#myElement'));