无法操纵存储在变量中的jQuery元素

时间:2016-05-02 03:40:50

标签: jquery jasmine jasmine-jquery

我遇到了一个奇怪的问题。

我可以毫无困难地设置和访问这个变量:

var $element = $(this);

Jasmine spec:

it("should have a class if date has an event", function() {
    $element.events({date_override:"05/01"});
    expect($element).toHaveClass("party");
});

这是旨在通过的代码:

$element.addClass(events[todays_date]);

测试失败...即使控制台输出显示该元素具有类。

console.log($element); //[h1#logo.party, selector: "#logo", context: document]
console.log($element.hasClass('party')); //true

当我在一个简单的页面上运行代码时,没有涉及Jasmine,该类确实没有添加到元素中。它似乎将$ element视为未定义。

因此...

  1. 测试失败
  2. 演示失败
  3. 代码内检查似乎“通过”
  4. 为什么$ element似乎未定义(在测试和演示中),而控制台输出(在Jasmine运行器中)显示正在添加类?

    我正在运行jQuery 2.1.3和Jasmine 2.2.0(使用jasmine-jquery 2.0.7)。

    感谢您的帮助。

0 个答案:

没有答案