Второй вараинт не подходит, тк переменная $name используется потом, а после add там будет не один элемент, а два. А вот первый вариант мне понравился, сейчас почитаю что это за метод :)
Действительно, .add() возвращает новый набор, исходные оставляет без изменений. Причем в третью переменную даже укладывать не нужно. Но оно немного не подходит визуально, т.к. полей у меня не дава а 10 и комплектов этих полей может где по два, где по три, а где и все пять. Вариант с add() подходит, т.к. работает но для читабельности больше подойдет если переменных 2-3 и одна из них обязательна.
Мне кажется это будет не бестпрактикс, дело в том что у меня уже есть два набора элеметов завернутых в JQuery объект. Т.е. они уже закешированны, зачем делать выборку снова?
Не знаю, у кого, как, но у меня использование классов для унификации элементов вызывает легкую путаницу, вплоть до отвращения. Это неловкое чувство, когда разбираешься в чужом коде, находишь глазами нужный элемент с пачкой классов и думаешь первую мысль - они все стилизуют или кто-то унифицирует?
Я за data-* и id!
Такйо вариант я рассматривал. Пример был отдален от действительности, в реальности у меня есть 10 полей и в зависимости от варианта выбранного в первом поле (select) мне нужно какие-то поля скрывать, а какие показывать.
Алексей Царапкин: Тут не перфекционизм, а стандарты. www.w3.org/TR/html401/struct/global.html#h-7.5.2 - посмотрите. Про ID явно написано что он предназначен для с связывания/ссылок на части DOM в скриптах, а про class - такого нет.
К тому же если firebug помогает ориентироваться среди классов пустышек еще не означает, что этот подход правильный.
Сергей Гордеев: Хорошо, зачем тогда в jQuery существуют селекторы по классам? Зачем в js существует функция getByClass??? Намеренное нарушение стандартов и ввод разработчиков в заблуждение? Это именно перфекционизм.