string.length 返回未定义

string.length returns undefined?

本文关键字:未定义 返回 length string      更新时间:2023-09-26
function checkInputData() {
    $('.mainSearchSubmit').live('click', function () {
        var inputData = $(this).parent().children().eq(0).val();
        console.log(inputData.length);
        //this returns undefined
        console.log(inputData);
        //and this returns text from inpu so i know there is data
    });
 }

任何想法为什么会发生这种情况,在其他情况下,当从输入中检索 val(( 时,它总是以字符串形式出现?

length未定义的唯一解释是 inputData 不是字符串。您忽略了提及您正在使用的输入类型,但无论如何,转换为字符串应该可以解决问题:

function checkInputData() {
    $('.mainSearchSubmit').live('click', function () {
        var inputData = $(this).parent().children().eq(0).val();
        inputData = String(inputData); // Cast to string
        console.log(inputData.length);
        //this returns undefined
        console.log(inputData);
        //and this returns text from inpu so i know there is data
    });
 }