Как скрыть метку элемента по идентификатору элемента в CSS?

Скажем, у меня есть этот код

<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 */

Как скрыть ярлык?

Ответ 1

Если вы присвоите ярлыку ID, например:

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

Тогда это сработает:

#foo_label { display: none;}

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

[for="foo"] { display: none;}

Ответ 3

Без класса или id и с вашим конкретным html:

table tr td label {display:none}

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

$('label[for="foo"]').css('display', 'none');

Ответ 4

Вы также должны указать отдельный ярлык на ярлыке.

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

#foo_label {display: none;}

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

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

#foo_row {display: none;}

Ответ 5

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

Ответ 6

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

Ответ 7

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

#_account_id{
        display: none;
    }
    label[for="_account_id"] { display: none !important; }