我有一段非常简单的代码片段,需要做一个非常(可能)简单的更改。
我无法访问jQuery脚本中需要的变量:
var Objects; // Used to store stuff
enable_reordering();
function enable_reordering()
{
$('a.move-object').click(function(){
Objects.moveMe = $(this);
$('#image-title').text( $(Objects.moveMe).attr('data-child-title') );
return false;
});
}
当我试图将Objects.moveMe
的值更改为任何值时,我的浏览器会抱怨没有设置Objects。(Error: Objects is undefined
)。
我如何才能在整个脚本中使用函数中的变量?
更新:
错误是由线路引起的
$('#image-title').text( $(Objects.moveMe).attr('data-child-title') );
我第一次尝试使用变量。
尝试:http://jsbin.com/ocodoz/
var a;
alert(a);
a === undefined
但在当前作用域中声明。。
您的对象必须设置为对象
var Objects = {};
这不是范围问题。问题是,正如错误所说,Objects
就是undefined
。看起来你想设置它的一个属性,所以把它初始化为一个对象文字:
var Objects = {};
目前,你正在努力做的是有效的:
undefined.moveMe = $(this);
当你声明一个变量时,它的值是undefined
,直到你给它赋值。通过给它赋值一个空的对象文字,你可以设置该对象的属性。