为什么在处理这个数组时我不需要jQuery的每个方法

时间:2013-12-15 06:45:37

标签: jquery jquery-selectors

我对jQuery很新,所以我很抱歉提前解决了这个问题。我有一个带有几个文本框的页面。我正在使用下面代码中显示的选择器来获取页面上的所有文本框。我假设这个选择器返回一个文本框数组。我想清除所有这些文本框。为此,我将其val设置为空字符串。但是我想我需要使用每个方法,因为我正在处理数组。它似乎没有每种方法。为什么是这样? jQuery是否自动知道将val应用于所选数组中的每个元素?

$(":text").val("");

2 个答案:

答案 0 :(得分:3)

是的,jQuery会自动将所有表达式应用于所有选定的元素。当你需要执行一些带有所有选定元素的自定义函数(不是标准函数)时,使用jQuery中的方法each。使用标准函数时,不需要使用each方法。 但是,您可以像这样重写代码:

$(":text").each(function() { $(this).val(""); });

但你意识到,这不是很明显。

答案 1 :(得分:0)

清空所有文本框;

$("input:text").val("");

包含特定类的空文本框;

$("input:text.classname").val("");

用数组清除文本框; 假设您有文本框名称text1,text2,text3,....

for (var i = 1; i <= 10; i++){
  $("#text" + i).val('');
}

你也可以使用许多使用过滤器的方法,每个方法都有用。

$("input:text").filter(":visible").filter(function(){
  return this.value !== ""; // you can return with any value
}).each(function(){
  something get sum or anything;
});

即使没有过滤器,您也可以使用每个