我遇到了一个奇怪的问题。
我可以毫无困难地设置和访问这个变量:
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视为未定义。
因此...
为什么$ element似乎未定义(在测试和演示中),而控制台输出(在Jasmine运行器中)显示正在添加类?
我正在运行jQuery 2.1.3和Jasmine 2.2.0(使用jasmine-jquery 2.0.7)。
感谢您的帮助。