Как скрыть метку элемента по идентификатору элемента в CSS? - PullRequest
15 голосов
/ 23 апреля 2010

Допустим, у меня есть этот код

<table>
    <tr>
        <td><input id="foo" type="text"></td>
        <td><label for="foo">This is foo</label></td>
    </tr>
</table>

Это скроет ввод:

#foo { display: none;}  /* or hidden could work too, i guesss */

Как скрыть метку?

Ответы [ 8 ]

22 голосов
/ 23 апреля 2010

Если вы дадите этикетке идентификатор, например:

<label for="foo" id="foo_label">

Тогда это будет работать:

#foo_label { display: none;}

Ваши другие параметры не являются кросс-браузерными, за исключением случаев, когда есть опция JavaScript. Селектор CSS3, не очень широко поддерживаемый, выглядит следующим образом:

[for="foo"] { display: none;}
12 голосов
/ 23 апреля 2010

Если вас не интересуют пользователи IE6, используйте селектор атрибутов равенства .

label[for="foo"] { display:none; }
7 голосов
/ 23 апреля 2010

Без класса или идентификатора, а также с вашим конкретным HTML:

table tr td label {display:none}

В противном случае, если у вас есть jQuery

$('label[for="foo"]').css('display', 'none');
1 голос
/ 14 января 2019

Несмотря на другие ответы здесь, вы должны не использовать display:none, чтобы скрыть элемент метки.

Доступный способ скрыть метку визуально - это использовать правило «off-left» или «clip» в вашем CSS.Использование display:none не позволит людям, использующим программы чтения с экрана, иметь доступ к содержимому элемента label.Использование дисплея: ни один не скрывает контент от всех пользователей, и это включает в себя пользователей программ чтения с экрана (которые больше всего выигрывают от элементов меток).* предложить больше рекомендаций по этой теме, включая CSS для техники «клип».

1 голос
/ 23 апреля 2010

Вы также должны присвоить метке отдельный идентификатор.

<label for="foo" id="foo_label">text</label>

#foo_label {display: none;}

Или скрыть всю строку

<tr id="foo_row">/***/</tr>

#foo_row {display: none;}
0 голосов
/ 16 октября 2015

Это работает для меня.

#_account_id{
        display: none;
    }
    label[for="_account_id"] { display: none !important; }
0 голосов
/ 23 апреля 2010

Вы, вероятно, должны добавить класс / id и затем сделать еще одно объявление CSS, которое также скрывает его.

0 голосов
/ 23 апреля 2010

Вы должны присвоить тегу <tr> идентификатор foo_row или что-то еще. И скрыть это вместо

...