使用 CSS,您可以选择子元素和相邻元素,因此如果将其放置在复选框之后,您尝试做的将起作用,div
但如果您想让它在div
其他地方(复选框上方)起作用,您需要使用JavaScript,如果是after,可以使用+
选择相邻元素或嵌套相邻元素
演示
<input type="checkbox" />
<div>Toggle Using CSS</div>
input[type=checkbox]:checked + div {
display: block;
}
div {
display: none;
}
像这样定位div
更远的地方(但不是在 之前checkbox
)
演示 2
input[type=checkbox]:checked + a + .blah .target {
display: block;
}
.target {
display: none;
}
<input type="checkbox" />
<a href="#">Dummy Link</a>
<div class="blah">
<div class="target">Complicated Selector, Isn't It?</div>
</div>
解释:input[type=checkbox]:checked + a + .blah .target
在这里,我们选择处于选中状态的复选框,然后通过选择作为锚标签的相邻元素来链接它,然后我们选择与具有类的a
标签相邻的另一个相邻元素,并且比我们选择一个类的嵌套子元素div
.blah
.target
使用 jQuery 做事(不管目标元素在哪里)Demo 3
<input type="checkbox" id="checkme" />
<a href="#">Dummy Link</a>
<div id="show_on_check" style="display:none">
This content should appear when the checkbox is checked
</div>
$(document).ready(function() {
$('#checkme').change(function() {
$('#show_on_check').toggle();
});
});