Javascript HTML:选中复选框时使元素不可见

Javascript HTML:选中复选框时使元素不可见,javascript,html,css,asp.net,Javascript,Html,Css,Asp.net,我在html代码的标题中有一个复选框,在正文中有一个复选框。选中复选框后,我需要该框消失 我将提供下面的代码,但简言之,我可以使复选框本身消失,当它被选中,但当我在我想消失的元素类中添加它停止工作。我尝试了几种不同形式的CSS,但并没有任何改变 切换:选中~div.侧边栏{ 显示:无; } .侧边栏{ 宽度:100px; 高度:100px; 背景:2000人; } CSS选择器切换中有一个小的输入错误:checked~div.sidebar。div和.sidebar之间不应该有空格,因为您的目

我在html代码的标题中有一个复选框,在正文中有一个复选框。选中复选框后,我需要该框消失

我将提供下面的代码,但简言之,我可以使复选框本身消失,当它被选中,但当我在我想消失的元素类中添加它停止工作。我尝试了几种不同形式的CSS,但并没有任何改变

切换:选中~div.侧边栏{ 显示:无; } .侧边栏{ 宽度:100px; 高度:100px; 背景:2000人; }
CSS选择器切换中有一个小的输入错误:checked~div.sidebar。div和.sidebar之间不应该有空格,因为您的目标是选择具有类名sidebar的div,而不是选择任何具有类名sidebar的元素作为div的子元素

另一个问题是,您在CSS选择器中错误地使用了。为了使选择器正常工作,div.sidebar应该是与toggle元素相同的父元素的子元素

切换:选中~div.sidebar{ 显示:无; } .侧边栏{ 宽度:100px; 高度:100px; 背景:2000人; }
CSS选择器切换中有一个小的输入错误:checked~div.sidebar。div和.sidebar之间不应该有空格,因为您的目标是选择具有类名sidebar的div,而不是选择任何具有类名sidebar的元素作为div的子元素

另一个问题是,您在CSS选择器中错误地使用了。为了使选择器正常工作,div.sidebar应该是与toggle元素相同的父元素的子元素

切换:选中~div.sidebar{ 显示:无; } .侧边栏{ 宽度:100px; 高度:100px; 背景:2000人; }
假设您无法更改HTML结构,因为您试图更改的div不是复选框的兄弟或后代,那么您将需要javascript来完成此操作

函数句柄更改复选框{ 如果checkbox.checked==true{ document.getElementsByClassNamesidebar[0].classList.addhidden;; }否则{ document.getElementsByClassNamesidebar[0].classList.removehidden;; } } .侧边栏.隐藏{ 显示:无; } .侧边栏{ 宽度:100px; 高度:100px; 背景:2000人; }
假设您无法更改HTML结构,因为您试图更改的div不是复选框的兄弟或后代,那么您将需要javascript来完成此操作

函数句柄更改复选框{ 如果checkbox.checked==true{ document.getElementsByClassNamesidebar[0].classList.addhidden;; }否则{ document.getElementsByClassNamesidebar[0].classList.removehidden;; } } .侧边栏.隐藏{ 显示:无; } .侧边栏{ 宽度:100px; 高度:100px; 背景:2000人; }
我会把导航外的复选框移到侧边栏之前,我猜它是隐藏的,你的标签仍然有效。如果您这样做,您可以将同级选择器更改为相邻同级选择器。否则,您会将导航外的复选框移动到侧边栏之前。我猜它无论如何都是隐藏的,并且您的标签仍然有效。如果您这样做,您可以将同级选择器更改为相邻同级选择器,或者您可以使其正常工作。感谢您的澄清。我们能够使这项工作正常进行。谢谢你的澄清。我可以让CSS和HTML的唯一答案工作,但我也投票,因为如果我的HTML是石头,我会需要这个答案。我可以让CSS和HTML的唯一答案工作,但我也投票,因为如果我的HTML是石头,我会需要这个答案。