Javascript 使用Jquery,只需对选择调用一次函数
假设我有一系列这样的文本框Javascript 使用Jquery,只需对选择调用一次函数,javascript,jquery,Javascript,Jquery,假设我有一系列这样的文本框 var arrayoftextboxes = $('.textbox1, .textbox2, .textbox3'); 有没有一种方法可以用比这更简单的方式调用每个函数? 它只需要调用一次 arrayoftextboxes.each(function(i){foo(arrayoftextboxes[i]);}); 我试过了 arrayoftextboxes.load(function(){foo(this)}); 及 但是函数似乎没有被调用。您可以这样做: $
var arrayoftextboxes = $('.textbox1, .textbox2, .textbox3');
有没有一种方法可以用比这更简单的方式调用每个函数?
它只需要调用一次
arrayoftextboxes.each(function(i){foo(arrayoftextboxes[i]);});
我试过了
arrayoftextboxes.load(function(){foo(this)});
及
但是函数似乎没有被调用。您可以这样做:
$('.textbox1, .textbox2, .textbox3').each(function() { foo(this); });
调用创建了一个闭包,在它里面这个
引用了您当前使用的DOM元素,但是最好将您所拥有的写为一个闭包。或者,如果只在foo
中使用this
(而不是将DOM元素作为参数),可以将其缩短为:
$('.textbox1, .textbox2, .textbox3').each(foo);
另外,请确保您正在文档上运行此操作。准备好如下所示:
$(function() {
$('.textbox1, .textbox2, .textbox3').each(foo);
});
否则,可能找不到DOM元素,使该选择器返回一个空数组(因此无法运行任何内容)。您可以执行以下操作:
$('.textbox1, .textbox2, .textbox3').each(function() { foo(this); });
调用创建了一个闭包,在它里面这个
引用了您当前使用的DOM元素,但是最好将您所拥有的写为一个闭包。或者,如果只在foo
中使用this
(而不是将DOM元素作为参数),可以将其缩短为:
$('.textbox1, .textbox2, .textbox3').each(foo);
另外,请确保您正在文档上运行此操作。准备好如下所示:
$(function() {
$('.textbox1, .textbox2, .textbox3').each(foo);
});
否则,可能找不到DOM元素,使选择器返回一个空数组(因此无需运行任何内容)