Javascript 使用css显示和隐藏DIV
我的ASP经典页面中有以下代码,该页面包含从db设置的几十个复选框:Javascript 使用css显示和隐藏DIV,javascript,html,css,Javascript,Html,Css,我的ASP经典页面中有以下代码,该页面包含从db设置的几十个复选框: <tr height="30px"> <td class="summarytext">Show Gender Pay Gap Options</td> <td class="formtext"> <input class="checkbox" type="checkbox" name="chkDisplayGP
<tr height="30px">
<td class="summarytext">Show Gender Pay Gap Options</td>
<td class="formtext">
<input class="checkbox" type="checkbox" name="chkDisplayGPGOptions" <%if g_blnchkDisplayGPGOptions = True then Response.Write("checked")%>>
</td>
<td colspan="7"> </td>
<td>
<input type="button" class="help" align="left" id="Button3" onmousemove="javascript:DisplayHelp(150,-160, 10, 'HELP', 'Select if you want to exclude this pay type in netpay for attachment calculations.', this)" onmouseout="javascript:HideHelp()" WIDTH="16px" HEIGHT="16px">
</td>
<DIV id="divGPGOptiona" style="display:none">
<table>
<tr height="30px">
<td class="summarytext">Include Bonus in calculation for GPG reporting</td>
<td class="formtext">
<input class="checkbox" type="checkbox" name="chkIncludeBonusInGPG" <%if g_blnchkDisplayGPGOptions = True then Response.Write("checked")%>>
</td>
</tr>
<tr height="30px">
<td class="summarytext">Include Gross Pay in calculation for GPG reporting</td>
<td class="formtext">
<input class="checkbox" type="checkbox" name="chkIncludeGrossPayInGPG" <%if g_blnchkDisplayGPGOptions = True then Response.Write("checked")%>>
</td>
</tr>
</table>
</DIV>
</tr>
我想做的是在选中chkDisplayGPGOptions复选框时显示和隐藏DIV divGPGOptiona
是否有某种方法仅使用CSS来实现此目的,或者我需要使用JavaScript和DOM来实现此目的?创建一个表示隐藏状态的类,并在复选框更改时切换它 看看如何: var checkbox=document.querySelector'input[name=check]; var div=document.querySelector'container'; 复选框.addEventListener'change',函数e{ 如果div.classList.包含“is-hide”{ 删除'is-hide'; }否则{ 添加'is-hide'; } }; .藏起来了吗{ 显示:无; }
内容如下。创建一个表示隐藏状态的类,并在复选框更改时切换它 看看如何: var checkbox=document.querySelector'input[name=check]; var div=document.querySelector'container'; 复选框.addEventListener'change',函数e{ 如果div.classList.包含“is-hide”{ 删除'is-hide'; }否则{ 添加'is-hide'; } }; .藏起来了吗{ 显示:无; }
内容如下。一个可能的解决方案是使用JavaScript切换显示。这不需要jQuery。这可以在本机JavaScript中完成 var checkBox=document.getElementById复选框; var myDiv=document.getElementByIdmy-div; myDiv.style.display=none; checkBox.addEventListenerclick,函数{ 如果myDiv.style.display==无{ myDiv.style.display=块; } 否则{ myDiv.style.display=none; } }; 这是一个div 默认情况下,上面的div是隐藏的。单击复选框以打开和关闭
一种可能的解决方案是使用JavaScript切换显示。这不需要jQuery。这可以在本机JavaScript中完成 var checkBox=document.getElementById复选框; var myDiv=document.getElementByIdmy-div; myDiv.style.display=none; checkBox.addEventListenerclick,函数{ 如果myDiv.style.display==无{ myDiv.style.display=块; } 否则{ myDiv.style.display=none; } }; 这是一个div 默认情况下,上面的div是隐藏的。单击复选框以打开和关闭
使用兄弟+选择器的纯CSS 因此,如果您将div作为复选框的同级,则可以执行此操作。为了便于复制,您需要更改HTML结构。建议这样做,因为您要在表行中放置一个div,而没有表单元格。为什么? .checkboxSibling{ 显示:无; } /*.checkbox:选中+.checkboxSibling{ 显示:块; }*/ 输入[name=chkDisplayGPGOptions]:选中+.checkboxSibling{ 显示:块; } 输入1- 选中复选框 输入2- 选中复选框
使用兄弟+选择器的纯CSS 因此,如果您将div作为复选框的同级,则可以执行此操作。为了便于复制,您需要更改HTML结构。建议这样做,因为您要在表行中放置一个div,而没有表单元格。为什么? .checkboxSibling{ 显示:无; } /*.checkbox:选中+.checkboxSibling{ 显示:块; }*/ 输入[name=chkDisplayGPGOptions]:选中+.checkboxSibling{ 显示:块; } 输入1- 选中复选框 输入2- 选中复选框 CSS代码: .隐藏{ 显示:无; } html代码:
<DIV id="divGPGOptiona" class="hidden" >
CSS代码:
.隐藏{
显示:无;
}
html代码:
<DIV id="divGPGOptiona" class="hidden" >
必须使用一些jquery来实现它。不一定是jquery,但你需要一些JS来实现。使用CSS可以映射的两个元素之间没有明确、密切的关系。只有当div是一个子元素时,才可以使用CSS单独映射,如果可以更改html结构,使div chkDisplayGPGOptions放置在复选框旁边。或者其他一些结构,可以使用css选择器根据复选框选择div。必须使用一些jquery来实现。不一定是jquery,但需要一些JS来实现。使用CSS可以映射的两个元素之间没有明确、密切的关系。只有当div是一个子元素时,才可以使用CSS单独映射,如果可以更改html结构,使div chkDisplayGPGOptions放置在复选框旁边。或者其他一些结构,可以使用css选择器基于复选框选择div。如果我有几十个复选框,并且只想在一次叫做chkdisplaygpgooptions的情况下工作如果你为外部复选框写class=checkbox one,那么你可能会处理几十个包含相同类名的复选框。而且如果你使用,那么其他复选框将被隐藏。你不必为复选框的类名面对任何冲突。谢谢。如果我有几十个复选框,如果您编写clas,则只希望它在一个名为chkdisplaygpgoptions的项目上工作
s=复选框一用于外部复选框,则您可以处理数十个包含相同类名的复选框。此外,如果您使用,则其他复选框将被隐藏。您不必为复选框的类名面对任何冲突。谢谢。谢谢,但如果我有数十个复选框,如果只想在一个名为chkdisplaygpgooptions的类上工作,您可以将一个类设置为该类,或者使用css选择器输入[name=chkDisplayGPGOptions用于您的输入。通过这种方式,您可以随心所欲地指定,以避免不必要的元素发生这种情况。谢谢,但是如果我有几十个复选框,并且只希望在一次调用的chkDisplayGPGOptions上使用该选项,您可以将类设置为该选项,或者使用css选择器输入[name=chkDisplayGPGOptions用于您的输入。通过这种方式,您可以随心所欲地指定,以避免不必要的元素发生这种情况。谢谢,但是如果我有几十个复选框,并且只想在一次名为chkDisplayGPGOptions的情况下使用该选项该怎么办谢谢,但是如果我有几十个复选框,并且只想在一次名为chkDisplayG的情况下使用该选项该怎么办PGOptions