Функция jQuery , $(...)
не возвращает элемент напрямую. Он возвращает объект jQuery, представляющий список из одного или нескольких совпадающих элементов *.
Если выражение селектора соответствует одному элементу, вы можете использовать функцию get()
для его извлечения и непосредственной работы с ним:
$('#sometextboxaspcontrol').get(0).value +=txt;
Если выражение селектора соответствует нескольким элементам, и вы хотите добавить к значению каждого элемента независимо, вам нужно каким-то образом перебрать элементы. Опять же, вы можете использовать get()
(без индекса), чтобы получить массив необработанных элементов. Однако вы можете использовать функцию each()
, чтобы указать функцию, которая будет выполняться в контексте каждого элемента в списке совпадений.
Если вы часто этим занимаетесь, вы можете добавить свою собственную функцию в сам объект jQuery (т.е. создать плагин). Обычно это приводит к меньшим, более простым и более читаемым сценариям с менее повторяющимся кодом. Это то, что делает пример. Функция appendVal()
добавлена к объекту jQuery (и также возвращает объект jQuery (возвращаемый функцией each()
), чтобы позволить вам вызывать другие функции jQuery в «цепочке», например,
$('#sometextboxaspcontrol').appendVal(txt).addClass('myClass');