Достаточно двух строк кода:
$("input[type=radio]:not(:checked)").addClass("hiddenRadio");
$("input[type=radio]:not(:checked) + label").addClass("hiddenLabel");
Нет необходимости в циклах с использованием each()
или при ручном поиске меток с помощью next()
- просто позвольте селекторам делать свою работу!
Вот jsfiddle для демонстрации (не скрывая, а меняя цвет) :
http://jsfiddle.net/bZcHq/
Также нет необходимости добавлять class='radio'
к каждомупереключатель.Селектор атрибута [type=radio]
будет достаточен, если вы не планируете поддерживать IE6.