Нет заданного способа сделать это, так как это зависит от HTML в вашем документе. Самый простой способ сделать это - привязать каждый из ваших элементов радиовхода, но вы также можете использовать делегирование событий и привязку к div.myitem-wrapper, li, parent ul или тегу body event.
Просто привязка обработчиков кликов к каждому интересующему нас элементу ввода:
$("div.myitem-wrapper input[type=radio]").bind('change', function (event) {
$(event.target).is(':checked').closest('p')
.addClass('class_A')
.siblings('p.subitem-text').removeClass('class_A');
});
То же самое, но с использованием делегирования события, чтобы уменьшить количество обработчиков до одного. Это действительно может ускорить процесс, если вы обнаружите, что привязываетесь к большому количеству элементов.
* +1007 *
Обратите внимание, что совершенно правильно сказать $(this)
вместо $(event.target)
, но это даст другие результаты, если и когда вы начнете переходить к делегированию событий. Дополнительным преимуществом является то, что вам или следующему парню будет проще понять код в течение двух месяцев, если вы перейдете с event.target .