Я очень новичок в jQuery, поэтому заранее прошу прощения за легкость этого вопроса. У меня есть страница с несколькими текстовыми полями. Я использую селектор, показанный в приведенном ниже коде, чтобы получить все текстовые поля на странице. Я предполагаю, что этот селектор возвращает массив текстовых полей. Я хочу очистить все эти текстовые поля. Для этого я устанавливаю свой val в пустую строку. Однако я думал, что мне нужно будет использовать каждый метод, потому что я имею дело с массивом. Кажется, что он работает без каждого метода. Почему это? Является ли jQuery автоматически знать, как применить val к каждому элементу в выбранном массиве?
$(":text").val("");
Да, jQuery автоматически применяет все ваше выражение ко всем выбранным элементам. Метод each
используемых jQuery, когда вам нужно выполнить какую-то пользовательскую функцию со всеми выбранными элементами (не стандартная функция). Когда вы используете стандартные функции, вам не нужно использовать each
метод. Однако вы можете переписать свой код следующим образом:
$(":text").each(function() { $(this).val(""); });
Но вы понимаете, что это не очень зрелище.
пустые все текстовые поля;
$("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;
});
даже без фильтра вы можете использовать каждый