![](/img/trans.png)
[英]Uncaught TypeError: Cannot read property toLowerCase of undefined
[英]Jasmine: TypeError: Cannot read property 'toLowerCase' of undefined
我有一个检查名称是否存在于数组(names_array)中的函数。 如果存在,则返回true,否则返回true,然后将名称推送到names_array并为每个名称创建表行并追加到表中。
使用Jasmine,我必须测试该函数是否返回true或false。 为此,我要传递变量names_array和name的值。 但是对于代码$('#add_name')。val();仍然出现未定义的变量错误。
我要测试的JavaScript代码是...
function check_names(names_array) {
var name = $('#add_name').val().toLowerCase();
//check if name is there in names_array if yes return true, if not then return false and push the item to the names_array
}
我正在使用的茉莉花代码
describe("On Name Create",function (){
var names_array = ["add","bad","sad","dad"];
it("Check for names",function (){
var name = "add";
expect(check_names(names_array)).toBeTruthy();
});
});
当我刚接触茉莉花时,我会错过什么吗?
您应该首先检查$('#add_name).val()是否为null。
另外也许你应该尝试$('#add_name).eq(0).val()
因为$('#add_name').val()
没有为toLowerCase()
函数提供任何值,您会收到此错误。
确保#add_name
,它在您的HTML代码中具有此ID。 您可以先打印它,然后再在代码中使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.