Javascript-如果';选中';在div元素(不是checkbox元素)上存在

Javascript-如果';选中';在div元素(不是checkbox元素)上存在,javascript,Javascript,我有一些可能很简单的东西,但我正在努力:/ 如果父元素是“选中的”,我试图显示一个隐藏的div(它不是一个复选框,但是如果单击它,我们将向div添加checked)。这里是一个屏幕截图什么样的检查在我的本地环境(截图附件) 下面是div“checked”的代码,我怀疑这应该会使隐藏的div显示出来,但事实并非如此 以下是我遵循的指南和下面的代码示例: var checkBox=document.getElementById(“accordionButton”); //获取输出文本 var te

我有一些可能很简单的东西,但我正在努力:/

如果父元素是“选中的”,我试图显示一个隐藏的div(它不是一个复选框,但是如果单击它,我们将向div添加checked)。这里是一个屏幕截图什么样的检查在我的本地环境(截图附件)

下面是div“checked”的代码,我怀疑这应该会使隐藏的div显示出来,但事实并非如此

以下是我遵循的指南和下面的代码示例:

var checkBox=document.getElementById(“accordionButton”);
//获取输出文本
var text=document.getElementById(“accordionContent”);
//如果选中元素,则显示手风琴内容
如果(checkBox.checked==true){
text.style.display=“块”;
}否则{
text.style.display=“无”;
}


从其他平台迁移

选项1选项2选项3选项4
谢谢大家的意见。我从你的反馈中尝试了各种组合,但没有达到我想要的效果

这就是我最终的结局。如果有更好的方法写这个,请让我知道。这在活动环境中起作用,在活动环境中可以切换复选框属性

我感谢你的帮助

document.body.addEventListener('click',函数(e){
var button=document.getElementById(“accordionButton”);//获取可单击的div
var text=document.getElementById(“accordionContent”);//获取隐藏的div
//如果选中该复选框,则显示输出文本
if(button.getAttribute(“选中”)==null){
text.style.display=“无”;
}否则{
text.style.display=“块”;
}
});
#手风琴内容{
显示:无;
}


从其他平台迁移

选项1选项2选项3选项4
if(checkBox.checked==true)
应该是
if(checkBox.hasAttribute('checked'))
这是否回答了您的问题?无论如何,由于
s本机没有选中的
属性,因此最好使用类似
的内容并检查
,如果(checkBox.dataset.checked==true)
是否有任何特殊原因使您添加属性
选中的
而不是类属性(例如
class=“checked”)
)?如果没有特别的限制,我会建议一个不同的方法,IMHO,提供更好的关注点分离;例如,类似这样的内容:(如果您不需要在同一页面中支持多个手风琴,那么代码可以简化)不幸的是,有。我的目标是组件中内置的其他人的代码,否则我肯定会更改它。