如何使用ng-repeat选择所有元素,但没有一些类

时间:2016-07-05 08:39:39

标签: javascript jquery css angularjs protractor

如何使用ng-repeat选择所有元素,但排除所有具有类bookmaker-disabled的元素。

Screen shot

我正在使用:element.all(by.repeater('bookmaker in vm.bookmakers'))

这里需要添加什么来获得没有类bookmaker-disabled的元素的结果?

1 个答案:

答案 0 :(得分:2)

通过查看您的屏幕截图,您可以添加“禁止博彩公司”的课程。当bookmaker.disabled为true时。根据您的代码,您可以添加ng-if="!bookmaker.disabled"仅在未禁用时显示,并删除已禁用的元素。在这种情况下,您无需添加课程。

或者,您可以过滤掉已禁用博彩公司的结果,例如: <div ng-repeat='bookmaker in vm.bookmakers | filter: {disabled: false}'>

或者你可以在你的控制器中使用map reduce,如果你正在寻找它。

如果您使用的是量角器,可能会有效:

element.all(by.repeater('bookmaker in vm.bookmakers')).filter(function(elem, index) {
  return elem.getAttribute('class').then(function(classes) {
    return classes.indexOf('bookmaker-disabled') === -1;
  });
})