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