好的,所以我的代码很有趣,有这种结构:
首先打开一个主div,然后使用foreach创建复选框。为数组中的每个“模型”创建一个复选框
<div id='coltext'>
<input class ="ModelName1">
<input class ="ModelName2">
等
在此之后,在某些条件下,在foreach循环中打开另一个div:
<div class="seqWrap">
<div class="hit""ModelName1"></div>
<div class="hit""ModelName2"></div>
</div>
</div>
我与班级hti的div,将被着色。如果选中/取消选中复选框,我希望能够切换div(class = hit)。因此,如果选中复选框“ModelName1”,则所有具有class =“ModelName1”的div将具有白色背景或隐藏。
有人可以帮忙吗?
答案 0 :(得分:2)
我知道你接受了你实现这个Pure CSS的答案。写得像这样:
.ModelName1:checked ~ .seqWrap .ModelName1,
.ModelName2:checked ~ .seqWrap .ModelName2
{background:none;}
答案 1 :(得分:1)
$('input:checkbox').change(function(){
if ($(this).is(':checked'))
$('div.'+$(this).attr("class")).hide();
else
$('div.'+$(this).attr("class")).show();
})
答案 2 :(得分:1)
我发现你的问题有点令人困惑,但也许这就是你的意思:
$('input[type="checkbox"]').click(function() {
$('div.' + $(this).attr('class')).toggleClass('hit');
});
请注意,你的html在你的孩子div中有一个拼写错误 - 你在class
属性的中间有两个双引号,你应该有一个空格,所以改变:
<div class="hit""ModelName1"></div>
到
<div class="hit ModelName1"></div>
(如我的demo所示。)