Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用css显示和隐藏DIV_Javascript_Html_Css - Fatal编程技术网

Javascript 使用css显示和隐藏DIV

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

我的ASP经典页面中有以下代码,该页面包含从db设置的几十个复选框:

<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">&nbsp;</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