javascript - AngularJS:如何通过 id 获取 DOM 元素

标签 javascript css angularjs dom

sample

请考虑 Plunkr .

我需要什么

我需要能够通过它的 id 获取元素。

示例代码应该能够将 css 类分配给当前 View 中存在的任何 DOM 元素。

这应该使用 Controller 中的 $scope 提供的源对象进行检查。此源对象可能/将具有比 View 上的输入元素更多的属性。

所以我想遍历每个对象键,看看是否存在相应的 DOM 元素。如果是这样,请验证它的值(value)。

问题

如何通过 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 范围。

谢谢!

最佳答案

在纯 JS 中你可以做 document.querySelector('#myID');
或在 Angular 内使用 angular.element:angular.element(document.querySelector('#myID'));

关于javascript - AngularJS:如何通过 id 获取 DOM 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32476623/

相关文章:

javascript - Angular 不会更改 json 中的音频源

javascript - Angular 、过滤并显示数组的一个对象

jquery - 删除/隐藏 DIV 中的 li href 链接

javascript - Angular - 添加动态组件时出现异常

javascript - angularfire2 - 获取标签数组

javascript - vim,在 html 中缩进 css 和 js 的正确方法

html - 行内显示留下空白

javascript - 尝试在 php 服务器的本地目录中加载 js/css 时如何修复 '301 Moved Permanently'?

angularjs - Angular Controller 作为父 Controller 中的监视变量

javascript - fullcalendar - 在窗口调整大小时调整日历大小