Javascript string.length返回未定义的值?

Javascript string.length返回未定义的值?,javascript,jquery,string,undefined,Javascript,Jquery,String,Undefined,知道为什么会发生这种情况吗?在其他情况下,当从输入中检索val()时,它总是以字符串的形式出现???对于长度未定义的唯一解释是如果inputData不是字符串。您忽略了提及正在使用的输入类型,但无论如何,转换为字符串应该可以解决问题: function checkInputData() { $('.mainSearchSubmit').live('click', function () { var inputData = $(this).parent().children

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

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

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
    });
 }

inputData
是否首先包含文本?另外,
length
应返回
0
或更多非
undefined
yes它仅在应用时返回数据。如果在
console.log(typeof(inputData)),则返回未定义的长度你得到了什么?@Trolleymusic,它返回字符串。但是在实现
字符串(inputData)之后建议如下?”“+$(this).parent().yadda().yadda()也将强制转换为字符串
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
    });
 }