Библиотека Cash предоставляет лёгкий и удобный способ работы с DOM в JavaScript, особенно для операций чтения и модификации элементов. Одной из базовых задач является получение значений полей формы или других элементов на странице.
.val()Метод .val() является универсальным инструментом для
работы со значением элементов формы, таких как
<input>, <textarea> и
<select>.
Синтаксис:
let значение = $('селектор').val();
.val() обычно возвращает значение первого элемента.Пример:
let email = $('#email').val();
console.log(email); // выводит текущее значение input с id="email"
Для <select> с множественным выбором метод
возвращает массив выбранных значений:
let выбранныеОпции = $('#countries').val();
console.log(выбранныеОпции); // ["USA", "Canada"]
<input>Пример с чекбоксами:
let выбранныеФрукты = $('input[name="fruits"]:checked').map(function() {
return $(this).val();
}).get();
console.log(выбранныеФрукты); // ["apple", "banana"]
Метод .map() в Cash работает аналогично jQuery:
перебирает выбранные элементы и формирует массив результатов.
.attr()Иногда значение поля может быть задано через атрибут, а не через
текущее состояние элемента. В таких случаях применяется метод
.attr().
Пример:
let placeholder = $('#username').attr('placeholder');
console.log(placeholder); // "Введите имя пользователя"
Метод возвращает строку или undefined,
если атрибут отсутствует.
.data()Cash поддерживает хранение и получение данных, связанных с элементом,
через метод .data().
let userId = $('#user').data('id');
console.log(userId); // 123
Особенность .data() заключается в том, что она
автоматически считывает значения из data-* атрибутов и
кэширует их для последующего использования.
Для получения содержимого элементов, которое не связано с формами,
используются методы .text() и .html():
let текст = $('#description').text();
let htmlСодержимое = $('#description').html();
console.log(текст); // "Описание товара"
console.log(htmlСодержимое); // "<strong>Описание</strong> товара"
.text() возвращает только текст без
тегов..html() возвращает полный HTML-код внутри
элемента.Если селектор возвращает несколько элементов, .val(),
.text() и .html() обычно возвращают значение
первого элемента. Чтобы получить массив всех значений,
необходимо использовать .map() и .get():
let значения = $('.input-field').map(function() {
return $(this).val();
}).get();
console.log(значения); // ["значение1", "значение2", "значение3"]
Проверка существования элемента: Перед чтением значения полезно проверять наличие элементов:
if ($('#username').length) {
let name = $('#username').val();
}Чтение числовых значений: Значения полей всегда возвращаются как строки. Для чисел требуется явное преобразование:
let age = parseInt($('#age').val(), 10);Фильтрация выбранных элементов: Для чекбоксов и
радиокнопок обязательно использовать :checked:
let выбраннаяОпция = $('input[name="gender"]:checked').val();Методы библиотеки Cash для получения значений полей позволяют
работать с DOM удобно и лаконично, обеспечивая поддержку всех
стандартных типов элементов формы, атрибутов и пользовательских данных.
Они легко комбинируются с .map(), .get() и
фильтрами селекторов, что делает обработку форм и чтение данных быстрым
и предсказуемым.