Bha*_*wna 1 html javascript css jquery
我想隐藏并在检查时显示div并取消选中复选框.我正在找父母并找到我要隐藏的div.但是代码没有运行
Jquery是:
$('.show-check').click(function() {
if (this.checked) {
$(this).parent().find('.div-check').fadeIn('slow');
} else
$(this).parent().find('.div-check').fadeOut('slow');
});
Run Code Online (Sandbox Code Playgroud)
HTML:
<div class="type-details">
<span class="form-label">Logo:</span>
<div class="switch">
<label>
<input type="checkbox" class="show-check" checked>
<span class="lever"></span>
</label>
</div>
<div class="landing-inputfile div-check">
<div class="col-xs-12 no-padding">
<div class="input-group">
<input type="text" class="file-input" placeholder="No file" readonly>
<label class="input-group-btn">
<span class="btn btn-default btn-flat btn-basic2">
UPLOAD <input type="file" style="display: none;">
</span>
</label>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
为什么你的代码不起作用:
$(this).parent()会给你label- 而且find('.div-check')不会退货.
使用closest()- 获取具有所需子元素的公共父元素,
$(this).closest('.type-details').find('.div-check').fadeIn('slow');
Run Code Online (Sandbox Code Playgroud)
另外,我建议您使用change()事件而不是click()下面的复选框,
$('.show-check').click(function() {
Run Code Online (Sandbox Code Playgroud)