#javascript #jquery #html
#javascript #jquery #HTML
Вопрос:
хотите удалить класс переключателей false, если найден родительский класс div s1.
<div class="s1">
<span>
<input name="question0" checked type="radio" value="C" class="false">
</span>
</div>
мой скрипт
$('.s1:has(input:radio:checked)').removeClass('false');
Комментарии:
1. У вас есть конкретная причина, я говорю только потому, что в CSS вы можете настроить таргетинг на selector .s1 amp;amp; .false для рендеринга по-другому, если это то, что вам нужно. IOW: если у вас был class .false, вы можете заставить его отображать иначе, чем если бы у него был родительский элемент с class .s1
Ответ №1:
Вы можете использовать простой селектор, ничего особенного не требуется.
$('.s1 :radio').removeClass('false');
jQuery(function($) {
$('.s1 :radio').removeClass('false');
});
.false {
background-color: blue;
height: 50px;
width: 100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="s1">
<span>
<input name="question0" checked type="radio" value="C" class="false">
</span>
</div>
<div class="s2">
<span>
<input name="question0" checked type="radio" value="C" class="false">
</span>
</div>
Ответ №2:
попробуйте это только для радио, независимо от того, установлен флажок или нет
$(".s1 input[type='radio']").removeClass('false');
И это только для проверенного радио
$(".s1 input[type='radio']:checked").removeClass('false');
Ответ №3:
Если единственной причиной является изменение внешнего вида переключателей, использование jQuery на самом деле не является обычным способом.
Вот пример без использования jQuery, вместо этого он был нацелен на CSS.
.s2 .false {
height: 50px;
width: 100px;
}
<div class="s1">
<input name="question0"
checked type="radio"
value="C"
class="false">
</div>
<div class="s2">
<input name="question0"
checked
type="radio"
value="C"
class="false">
</div>