![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Innuendo108 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 3.4.2008 Репутация: нет Всего: 2 |
в обычном яваскрипте код выглядит так:
Как это сделать на jQuery? если я делаю var group = $("#gr").value, то group принимает значение undefined. |
|||
|
||||
unicross |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 422 Регистрация: 15.6.2008 Репутация: 5 Всего: 53 |
|
|||
|
||||
skyboy |
|
||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 3 Всего: 260 |
а все потому, что выполнение jQuery('<выражение>') возвращает не один DOM-элемент, а коллекцию объектов типа jQuery. чтоб получить доступ к DOM-свойствам, надо либо: 1. а. получить конкретный DOM-элемент при помощи get():
б. пройтись функцией по всей коллекции:
2. искать в документации к jQuery эквиваленты нужных тебе DOM-функций(вот, как привел пример unicross с метдом val(), который будет работать не только для input'ов, но и select'ов с textarea'ми). второй вариант, конечно, получше будет: jQuery мощная платформа и использовать её только для поиска элемента - преступление. |
||||
|
|||||
brother79 |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 18.8.2009 Репутация: 1 Всего: 6 |
Что-то я ничего не понял: 1) если по id должен выбраться только один объект, зачем делать
или .each 2) смысл доставать по .get(0), если есть .attr ? Добавлено через 6 минут и 1 секунду Ну и использовать .each, чтобы у всех эл-тов усстановить значение - тоже не понятно, есть .val() который у всех сразу усстанавливает значения. И вообще jquery придумали для того, чтобы сократить максимально размер, в связи с чем стандартные конструкции обращения к dom эл-там нужны крайне редко, когда есть куча возможностей сократить код посредством jquery, иначе смысл вообще в Jquery? |
||||
|
|||||
InfMag |
|
||||
… ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 21.11.2004 Репутация: нет Всего: 4 |
|
||||
|
|||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 3 Всего: 260 |
затем, что jQuery вернет не DOM элемент, а объект jQuery. и чтоб получить доступ к DOM-свойствам, надо вызывать get(). разве нет? да, в случае с jquery-методами val() отлично скрывает работу с DOM-функциями. И я привел методы доступа к свойствам/методам DOM только затем, чтоб объяснить - jQuery('#gr') возвращает не HTMLNode, а jQuery-объект и если уж сильно хочется работать с DOM, надо делать дополнительные телодвижения. |
|||
|
||||
Kuznec |
|
|||
В поиске Профиль Группа: Участник Сообщений: 43 Регистрация: 13.4.2007 Где: КМА Репутация: нет Всего: нет |
Ага, использовал ранее attr. Видимо долго не программил на jQuery. Поднял ранее начавший проект, увидел, что вышли новые версии jQuery & UI. Подсоединил. Перестала функция attr('value') считывать текст, введённый с клавиатуры. Заменил jQuery & UI на старый - заработало. На последние - нет. Так и решил вставить get(0).value - теперь работает. Что за глюк такой... Вот так потом решишь обновить библиотеку, ещё что-нибудь отвалится. |
|||
|
||||
InfMag |
|
|||
… ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 21.11.2004 Репутация: нет Всего: 4 |
Некропостинг в тему 4-лётней давности однако) А вообще может имеет смысл .val() использовать, а не .attr('value'), по-назначению так сказать? |
|||
|
||||
Kuznec |
|
|||
В поиске Профиль Группа: Участник Сообщений: 43 Регистрация: 13.4.2007 Где: КМА Репутация: нет Всего: нет |
||||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |