ОБНОВЛЕНО:
Я добавил это альтернативное решение, используя JQuery, так как ваша метка является родительской для ввода, и в настоящее время нет способа выбора родительского элемента ребенка с помощью CSS Combinators :
$('#radio-label').click(function() {
if($('#input-radio').is(':checked')) {
$('#radio-label').toggleClass('has-background-color'); }
});
.has-background-color {
background-color: cyan;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<ul class="wcsatt-options-prompt-radios">
<li class="wcsatt-options-prompt-radio">
<label id="radio-label" type="radio" for="input-radio" class="wcsatt-options-prompt-label wcsatt-options-prompt-label-one-time">
<input id="input-radio" class="wcsatt-options-prompt-action-input" type="radio" name="subscribe-to-action-input" value="no" />
<span class="wcsatt-options-prompt-action"><?php echo $one_time_cta; ?></span>
<span id="subs-box-price-text" class="subs-box-price">Price</span>
<div class="sub-sub-text">Save 20$</div>
</label>
</li>
Исходное сообщение:
Вместо "+", вы должны использовать "~" комбинатор.
Используйте атрибут «for» (в элементе label) и атрибут «id» (в элементе input) для подключения вашей метки к вашему входу.
Затем используйте тильду "~ "в селекторе CSS, как показано ниже, который называется" комбинатор последующего брата ", поскольку ваш входной элемент и элемент span имеют одного и того же родителя.
Цитируется из: https://www.geeksforgeeks.org/what-does-symbol-tilde-denotes-in-css/
Тот факт, что вы используете "+", не может работать, потому что он используется для выбора следующего непосредственного элемента родного брата.
Вы можете взглянуть на CSS Комбинаторы для более подробной информации: https://www.w3schools.com/css/css_combinators.asp
В коде я только меняю цвет фона тега span для цены , Вы можете изменить код, как вы sh.
#input-radio:checked~#subs-box-price-text {
background-color: cyan;
}
<ul class="wcsatt-options-prompt-radios">
<li class="wcsatt-options-prompt-radio">
<label type="radio" for="input-radio" class="wcsatt-options-prompt-label wcsatt-options-prompt-label-one-time">
<input id="input-radio" class="wcsatt-options-prompt-action-input" type="radio" name="subscribe-to-action-input" value="no" />
<span class="wcsatt-options-prompt-action"><?php echo $one_time_cta; ?></span>
<span id="subs-box-price-text" class="subs-box-price">Price</span>
<div class="sub-sub-text">Save 20$</div>
</label>
</li>