Toggle 未按预期运行
Toggle Not Functioning As Expected
以下代码工作正常:
function toggleVis(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
<label onclick='toggleVis("weapon-set");' for='checkboxes-0'>
<input type='checkbox' name='checkboxes' id='checkboxes-0' value='1'>
Weapon
</label>
<fieldset id='weapon-set' class='toggle'><legend>Weapon</legend></fieldset>
我可以单击复选框或标签来打开或关闭字段集的可见性。但是,如果我将字段集的初始可见性设置为 display:none;使用 CSS 选择器,我只能使用复选框来切换可见性。关于如何使标签切换正常工作的任何想法?
使用 class 切换可见性
function toggleVis(id) {
var elem = document.getElementById(id);
elem.classList.toggle("hidden");
}
.hidden { display : none }
<label for='checkboxes-0'>
<input type='checkbox' name='checkboxes' id='checkboxes-0' value='1' onchange='toggleVis("weapon-set");'>
Weapon
</label>
<fieldset id='weapon-set' class='toggle'><legend>Weapon</legend></fieldset>
您也可以将其基于复选框状态而不是默认状态。
以下代码工作正常:
function toggleVis(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
<label onclick='toggleVis("weapon-set");' for='checkboxes-0'>
<input type='checkbox' name='checkboxes' id='checkboxes-0' value='1'>
Weapon
</label>
<fieldset id='weapon-set' class='toggle'><legend>Weapon</legend></fieldset>
我可以单击复选框或标签来打开或关闭字段集的可见性。但是,如果我将字段集的初始可见性设置为 display:none;使用 CSS 选择器,我只能使用复选框来切换可见性。关于如何使标签切换正常工作的任何想法?
使用 class 切换可见性
function toggleVis(id) {
var elem = document.getElementById(id);
elem.classList.toggle("hidden");
}
.hidden { display : none }
<label for='checkboxes-0'>
<input type='checkbox' name='checkboxes' id='checkboxes-0' value='1' onchange='toggleVis("weapon-set");'>
Weapon
</label>
<fieldset id='weapon-set' class='toggle'><legend>Weapon</legend></fieldset>
您也可以将其基于复选框状态而不是默认状态。