Javascript 如何在jQuery中使用变量设置所有元素的值?
为类Javascript 如何在jQuery中使用变量设置所有元素的值?,javascript,jquery,scope,input-field,Javascript,Jquery,Scope,Input Field,为类foo的所有输入字段设置值很容易: $('#long .path .to .foo').val('...'); 但现在我需要在多个位置操作foo字段,因此我将其保存为object,以便像这样使用它: foo = $('#long .path .to .foo'); foo.val('...'); 当我在函数中赋值时,在我使用它的地方,它就起作用了。但当这不起作用时: $(document).ready(function() { foo = $('#long .path .to .
foo
的所有输入字段设置值很容易:
$('#long .path .to .foo').val('...');
但现在我需要在多个位置操作foo
字段,因此我将其保存为object,以便像这样使用它:
foo = $('#long .path .to .foo');
foo.val('...');
当我在函数中赋值时,在我使用它的地方,它就起作用了。但当这不起作用时:
$(document).ready(function() {
foo = $('#long .path .to .foo');
bar();
}
function bar() {
foo.val('...');
}
这与范围无关,因为这是可行的:
function bar() {
foo.first().val('...'); // or last()
}
如何使用保存到变量(当前范围之外)的jQuery对象设置
类的所有元素的值
。
问题是,这些字段是在加载文档后由JavaScript生成的。只有输入项是静态的,这就是它工作的原因
解决方案是将foo
声明移动到回调中,并在函数中使用is而不是变量,以便在每次需要操作时获取相关的输入项列表:
$(document).ready(function() {
foo = function() {
return $('#long .path .to .foo');
};
bar();
}
function bar() {
foo().val('...');
}
你在哪里声明
foo
?试着使用$(foo).val(“…”)
,这能解决它吗?@automatix啊,在这里我想你总是必须用$()
包装变量才能使用它。学到了一些新东西!这对我来说很有用,如果你能制作一个JSFIDLE,那么也许我们可以通过查看你的HTML和JS来检测一些东西