Если значения показа данных есть в вашем HTML или установлены как атрибуты для каждого объекта, вы можете сделать это полностью с помощью селектора:
$('form > [data-show="pro"]').show();
$('form > [data-show="home"]').hide();
Для пояснения:
-
form
явно выбирает элементы формы
-
>
выбирает дочерний элемент объекта формы
-
[data-show="pro"]
выбирает только дочерние элементы с атрибутом с именем data-show
, для которого установлено значение "pro"
-
.show()
вызывает метод show для этих выделенных объектов
Если ваши значения для показа данных установлены с помощью метода jquery .data()
, поэтому предыдущий метод не будет работать, тогда вам лучше установить состояние как имя класса, а не как значение данных, которое вы можете более легко использовать в селектор. Если бы эти значения были заданы как имена классов, а не данные, код выглядел бы так:
$('form > .pro').show();
$('form > .home').hide();
Помните, у вас может быть несколько имен классов в объекте и состоянии объекта, которое непосредственно используется для управления представлением объекта (стили CSS, видимость, форматирование и т. Д.), Намного лучше представлять в виде имен классов а не атрибуты data-xxx, потому что его гораздо проще использовать в селекторах для операций CSS или jQuery.