Скрыть метку и поле ввода с помощью CSS или JQuery - PullRequest
2 голосов
/ 03 ноября 2011

В этой скрипке у меня есть часть моей формы: http://jsfiddle.net/ZXSKH/55/

Я пытаюсь скрыть метку и 1 поле ввода по умолчанию, выбрав класс с помощью css и установив display: none.Это работает для выбора «ввода», однако для меток это не работает, поскольку в другом месте я использую display: inline-block или block, который затем снова делает метки видимыми.

Вместо того, чтобы делать это в CSSДолжен ли я скрыть метку и поле ввода с помощью jquery?Может ли кто-нибудь помочь мне с этим?

Ответы [ 6 ]

2 голосов
/ 03 ноября 2011

Вы бы упростили свою жизнь, если бы поместили тег div вокруг полей, которые хотите скрыть, таким образом, ваш код jQuery может показать / скрыть этот конкретный div (назначьте ему идентификатор для целевого объекта). Таким образом, установка display для inline-block или block на метках не будет иметь значения, потому что ваш div, содержащий метку, уже скрыт.

1 голос
/ 03 ноября 2011

Как я видел в вашем коде и html, вы добавляете все элементы управления без какого-либо контейнера. используйте либо таблицу, либо div.

Я предпочитаю использовать <div>. если вы хотите использовать то же самое, перейдите по этим двум ссылкам в качестве ссылки, чтобы сбросить ваш CSS для определенного элемента, а затем установите его visibility в css на скрытый как:

h1.hidden {visibility:hidden;}

Jquery: Как проверить, имеет ли элемент определенный стиль CSS

http://api.jquery.com/css/

поместите ваши скрытые элементы управления в div, и тогда вы можете использовать $ ('# divName1'). Hide () или $ ('# divName1'). Show () для реализации вашей функциональности.

вы можете генерировать динамический HTML-контент, а не указывать один набор элементов управления по щелчку отмеченного элемента ... используя insertAfter подобные методы jquery. Вы можете получить более подробную информацию об этом по следующей ссылке:

http://api.jquery.com/?ns0=1&s=insertafter&go=

Выберите InsertAfter, чтобы детализировать примеры, чтобы упростить ваш процесс.

1 голос
/ 03 ноября 2011

Вы можете использовать jquery, чтобы скрыть метку и поле ввода. Это можно сделать очень легко с помощью jquery

Например.

$(id).css('display','none');

или Вы также можете использовать jquery hide method

Например.

$(id).hide();
0 голосов
/ 03 ноября 2011

вы можете переопределить отображение: встроенный блок и т. Д. С помощью! Important, поэтому создайте класс

.hidden{display: none !important;}

применимо к вашему лейблу или как угодно

<label id="my-label" class="hidden"></label>

и если вы хотите удалить его (сделать его видимым), используйте jquery

$("#my-label").removeClass("hidden");
0 голосов
/ 03 ноября 2011

Вы не должны использовать javascript здесь, чтобы решить то, что кажется только проблемой отображения. Лучше практиковать поиск решения с помощью css, а не использовать неправильный инструмент для решения проблемы. Зачем вам нужно настроить отображение меток на блокировку в другом месте? Можно ли сделать это более конкретным для конкретного ярлыка, который нужно показать, а остальное скрыть?

0 голосов
/ 03 ноября 2011

JavaScript, хотя! попробуй.

    <script type="text/javascript">
    <!--
    function ShowOrHide(id) {
       var e = document.getElementById(id);
       e.style.display = 'block';
    }
function Hide(id) {
       var e = document.getElementById(id);

          e.style.display = 'none';

    }
    //-->
    </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...