angularjs – 角度和羯磨(茉莉花):我如何按类找到一个元素

前端之家收集整理的这篇文章主要介绍了angularjs – 角度和羯磨(茉莉花):我如何按类找到一个元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
beforeEach(function () {

    html = '<div class="dropdown">'+
              '<div class="trigger" >trigger</div>'+
              '<div class="dropdown">body</div>'+
           '<div>';

    inject(function ($compile,$rootScope) {

        scope    = $rootScope.$new();
        element  = angular.element(html);
        compiled = $compile(element);

        compiled(scope);
        scope.$digest();

        // HERE NOT WORKING
        var trigger == element.find('div.trigger');
        var dropdown == element.find('.dropdown');

        // trigger and dropdown have both length 0

    });

    // Test doesn't pass
    it('should find the right element'),function () {
        expect(trigger.hasClass('trigger')).toBe(true);
    }

});

我正在尝试单元测试一个指令,但是我不能逐个找到元素。

我想要找到像以下这样的元素:

var trigger == element.find('div.trigger') // doesn't find anything.

但现在我只能这样做:

var triggers = element.find('div') // return an array of length 2.
var trigger = triggers[0];

我如何按类找到一个元素?

通过类名查找不受AngularJS查找功能支持。相反,您可以使用vanilla javascript进行此操作:
var result = element[0].querySelectorAll('.findme');

现在,您可以通过将结果变量包含在一个有角度的元素中来检查结果变量是否具有一个findme类。

angular.element(result).hasClass('findme')

Fiddle

猜你在找的Angularjs相关文章