用jqlite查找可见元素

时间:2014-07-28 22:46:54

标签: jquery jqlite

我试图在Jasmine中编写单元测试,以查找在单击按钮后变为可见的元素。我遇到的问题是find找到隐藏的元素。

        var visibleUndoButtons = 0;
        var undoButtons = element.find(".btn-undo");
        undoButtons.each((index, value) => {
           if ($(this).css("display", "none")) {
               console.log("none");
           } else {
               visibleUndoButtons++;
           }
        });
        expect(visibleUndoButtons).toEqual(1);

jqlite可以做我要的吗?或者是否有更好的方法来查找具有特定类的可见元素或不可见元素?

1 个答案:

答案 0 :(得分:0)

这就是我刚刚做的事情:

it("should not hide any of the checkboxes", inject(function ($document) {
  $document.find('body').append(element);
  angular.forEach(element.find('.check-box'), function (checkBox) {
    expect(angular.element(checkBox).css('display')).toBe('inline');
  });
}));

我的css可见性规则来自外部样式表(而不是内联样式),这可能是.css()方法在我省略

时返回空字符串的原因
$document.find('body').append(element);

希望有所帮助。