Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery.val()在设置后立即生成未定义的_Javascript_Jquery - Fatal编程技术网

Javascript jQuery.val()在设置后立即生成未定义的

Javascript jQuery.val()在设置后立即生成未定义的,javascript,jquery,Javascript,Jquery,在我的Javascript中,我有以下代码(为简洁起见进行了编辑): console.log返回undefined,但是如果我在Chrome的控制台中运行相同的语句,它将生成example 有人知道为什么会这样吗?加载HTML后,JavaScript肯定会启动,log语句在Chrome的控制台中工作,但在代码内部,它输出的未定义$(此)似乎引用了listtoken:$(此).attr('data-token'),而不是jQuery对象?如果数据没有属性.attr,将返回未定义的 不清楚是否将此设

在我的Javascript中,我有以下代码(为简洁起见进行了编辑):

console.log
返回undefined,但是如果我在Chrome的控制台中运行相同的语句,它将生成
example

有人知道为什么会这样吗?加载HTML后,JavaScript肯定会启动,log语句在Chrome的控制台中工作,但在代码内部,它输出的
未定义
$(此)
似乎引用了
listtoken:$(此).attr('data-token')
,而不是jQuery对象?如果
数据
没有属性
.attr
,将返回
未定义的

不清楚是否将
设置为
数据的另一个属性的jQuery对象或元素
未包含在问题中

var数据={
listtoken:function(){console.log(this,$(this.attr())}
}
data.listtoken()


什么是
$(此)
数据中引用?可以在问题中包含
html
,堆栈片段或JSFIDLE会很有帮助。我猜在javascript运行时,该元素还没有加载。您的js是否在
就绪
块中?@guest271314这不重要,即使data.listtoken是硬编码的,问题也会发生。“这不重要,即使data.listtoken是硬编码的,问题也会发生。”?如果
$(此)
正在引用
数据
对象,那么
数据
对象是否定义了
.attr
方法?可以在问题中包含
html
,创建stacksnippets,JSFIDLE来演示?看见
var data = {
    ...
    listtoken: $(this).attr('data-token')
}

$("#qtip-search-"+ data.listtoken +"-content .search-input").val("example");
console.log($("#qtip-search-"+ data.listtoken +"-content .search-input").val());