加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 08:08:38 所属栏目:安全 来源:网络整理
导读: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
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读