Angular.element 选择器有一些例外

Angular.element selector with some exceptions

我有这个简单的结构:

<div class="outer-div">
    <div class="inner-div-1">inner div 1</div>
    <div class="inner-div-2">inner div 2</div>
    <div class="inner-div-3">inner div 3</div>
    <div class="inner-div-4">inner div 4</div>
  </div>

尝试 select 除第二个以外的所有内部 div。使用 angular.element('div', '.outer-div') 将 select 每个 div。我只需要 select 第一、第三和第四。有没有一种简单的方法可以做到这一点,最好使用单个 angular.element?

这是一个例子:https://codepen.io/neptune01/pen/ppBrKY?editors=1111

您可以考虑如下所示的内容,但强烈建议不要从 angular 控制器进行 DOM 操作。我建议为此创建指令。

var childs = angular.element('.outer-div').children();
colorElementExclude([1], childs);

function colorElementExclude(excludedElement, childrens){
  //add exclude class on element to be excluded
  excludedElement.forEach(function(el) {
    childrens.eq(el).addClass('exclude');
  });
  childrens.not(".exclude").css({ 'color': 'grey' });
}

Forked Codepen