Javascript 如果父元素可见,则显示子元素
我试图让我的表单显示子元素,如果父元素是可见的,并且我的子元素不断出现“未定义”错误,即使我已经定义了它。我正试图在以下位置设置: Q1:选中的响应将显示父元素(div)。 Q2:根据这个响应,它将显示子元素(div) 有办法做到这一点吗Javascript 如果父元素可见,则显示子元素,javascript,Javascript,我试图让我的表单显示子元素,如果父元素是可见的,并且我的子元素不断出现“未定义”错误,即使我已经定义了它。我正试图在以下位置设置: Q1:选中的响应将显示父元素(div)。 Q2:根据这个响应,它将显示子元素(div) 有办法做到这一点吗 //下一个选项卡 函数next(){ var formTabOne=document.getElementById(“stepOne”); formTabOne.classList.add(“formTrans”); formTabOne.addEventL
//下一个选项卡
函数next(){
var formTabOne=document.getElementById(“stepOne”);
formTabOne.classList.add(“formTrans”);
formTabOne.addEventListener(“transitionend”,函数({
目标
}) {
如果(目标===formTabOne){
target.classList.add(“隐藏”);
target.classList.remove(“formTrans”);
document.getElementById(“Step2”).classList.remove(“hidden”);
}
})
}
//上一页标签
函数prev(){
var formTabTwo=document.getElementById(“Step2”);
formTabTwo.classList.add(“formTrans”);
FormTab2.addEventListener(“transitionend”,函数({
目标
}) {
如果(目标===formTabTwo){
target.classList.add(“隐藏”);
target.classList.remove(“formTrans”);
document.getElementById(“Stephone”).classList.remove(“hidden”);
}
})
}
函数过程(){
var form=document.myForm;
var biz=document.getElementById(“biz”);
var career=document.getElementById(“career”);
var change=document.getElementById(“变更”);
var eq=document.getElementById(“eq”);
var impression=document.getElementById(“移情”);
var pm=document.getElementById(“pm”);
var bizMgr=document.getElementsByClassName(“bizMgr”);
var bizEE=document.getElementsByClassName(“bizEE”);
//Q1-主题
document.queryselectoral(“#chkTopic输入”).forEach((el)=>{
const contentID=el.id.replace(“chk”,”).toLowerCase()
document.getElementById(contentID).style.display=el.checked?“块”:“无”;
});
//Q2-员工类型
var值=”;
对于(变量i=0;i
html{
滚动行为:平滑;
}
#包装纸{
背景色:#eaeaea;
填充:20px;
边缘底部:40px;
最小高度:300px;
}
#myForm{
宽度:70%;
最小高度:280px;
保证金:0自动;
填充:20px;
背景色:#fff;
边框:1px实心#dedede;
框大小:边框框;
}
.formStep{
不透明度:1;
背景:#fff;
}
formTrans先生{
可见性:隐藏;
不透明度:0;
过渡:可见度为200ms,不透明度为200ms线性;
}
.隐藏{
显示:无;
}
#商业、职业、变化、情商、同理心、pm、pd{
显示:无;
宽度:100%;
最小高度:200px;
框大小:边框框;
边缘底部:30px;
边框:1px实心#000;
}
.bizMgr、.bizEE、.careerMgr、.careerEE、.changeMgr、.changeEE、.eqMgr、.eqEE、.pmMgr、.pmEE、.pdMgr、.pdEE{
显示:无;
}
选择您感兴趣的主题:
业务结构/敏锐度
职业发展
更改
情商
移情
绩效管理
下一个
你是人民领袖吗?
否
是
以前的
业务结构/敏锐度
管理器内容
员工内容
职业发展
管理器内容
员工内容
改变
管理器内容
员工内容
情商
管理器内容
员工内容
移情
管理器内容
员工内容
绩效管理
管理器内容
员工内容
.getElementsByClassName
返回一个集合,bizMgr
和bizEE
都是集合
。您必须迭代集合
并将每个元素
设置为style.display='block'
。您不能只在javascript
集合上调用xxx.style.display
。您可能希望更改代码,如下所示:
if (q2value == "1") {
if (biz.style.display = "block") {
//bizMgr.style.display = "block"; -NO
//bizEE.style.display = "block"; -NO
for(let i = 0; i < bizMgr.length; i++){
bizMgr[i].style.display = "block";
}
for(let j = 0; j < bizEE.length; j++){
bizEE[j].style.display = "block";
}
}
} else {
if (biz.style.display = "block") {
//document.getElementsByClassName("bizEE").style.display = "block"; -NO
for(let j = 0; j < bizEE.length; j++){
bizEE[j].style.display = "block";
}
}
}
if(q2value==“1”){
if(biz.style.display=“block”){
//bizMgr.style.display=“块”—否
//bizEE.style.display=“块”—否
for(设i=0;i