Переключатель скрыть() *и* его текстовая метка в jquery

StackOverflow https://stackoverflow.com/questions/643704

  •  22-07-2019
  •  | 
  •  

Вопрос

Я возвращаюсь к недавнему проекту, посвященному решению проблем доступности, и следил за тем, чтобы все элементы формы имели метки.Помещение текста метки в тег вызвало проблему с неуклюжим кодом, который я написал раньше.

По сути, если у вас есть переключатель и его метка:

<label for="zone_r1"><input type="radio" name="zone" id="zone_r1" value="NY" />New York</label>

И вы используете jquery, чтобы скрыть это следующим образом:

$('#zone_r1').hide();

Фактическая кнопка скрыта, но не текст метки.Первоначально я сделал интервал для текста метки и скрыл его следующим образом:

<input id="NY" type="radio" name="zone" value="NY" /><span id="nyTXT">New York</span>

и

$('#NY').hide();
$('#nyTXT').hide();

Есть идеи?Я предпочитаю не использовать кладж, и он может не соответствовать диапазону в метке, но, возможно, я слишком усердствую.

Это было полезно?

Решение

$('#zone_r1').parent().hide();

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

Другие советы

Я думаю, это должно сработать для тебя

$("label[for=zone_r1],#zone_r1").hide();

При этом выбирается метка с атрибутом «for», установленным для искомого переключателя, а также сам переключатель, и скрывается оба.

как насчет $('label:has(#zone_r1)').hide();

Для первого переключателя вы можете скрыть саму кнопку, а затем ее родитель:

$('#zone_r1').hide().parent().hide();

Во втором случае вы можете скрыть кнопку и "следующий" брат или сестра:

$('#NY').hide().next().hide();

Вы можете сделать это:

1.) Определите ввод переключателя без окружающей метки.

2.) Оберните «текст опции» (текст справа от переключателя) в <span>.

3.) Используйте этот оператор jQuery: $("input:radio:not(:checked), input:radio:not(:checked) + span").hide();

Это позволит выбрать переключатель и текст справа от переключателя и скрыть его.

Просто поместите селектор «метка» в родительский элемент:

$(':radio[id=zone_r1]').parent('label').hide();

Видеть мой пример jsFiddle

скрытие контейнера переключателя или TD на основе значения

jQuery("input[type=radio][value='EU2']").parent().hide();

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top