繁体   English   中英

茉莉花:TypeError:无法读取未定义的属性“ toLowerCase”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM