Javascript 如何在div中定位类(单击时自动)

Javascript 如何在div中定位类(单击时自动),javascript,Javascript,我想获得所有带有类问题的元素,给它们一次点击,然后针对特定的点击元素。在这个单击的元素中,我想得到带有classanswertext的div,并将class添加为active 我现在的代码: var getQuestions=document.querySelectorAll('.questions'); getQuestions.forEach(函数(问题){ 问题.addEventListener('click',函数(e){ var目标=e.target; var answer=targ

我想获得所有带有类
问题的元素,给它们一次点击,然后针对特定的点击元素。在这个单击的元素中,我想得到带有class
answertext
的div,并将class添加为active

我现在的代码:

var getQuestions=document.querySelectorAll('.questions');
getQuestions.forEach(函数(问题){
问题.addEventListener('click',函数(e){
var目标=e.target;
var answer=target.getElementsByClassName('answer-text');
answer.classList.add('active');
})
});
。回答文本{
显示:无;
}
.主动{
显示:块;
}
.问题{
填充:20px;
字号:700;
}

你在瓦坎蒂的什么地方工作?
安特伍德6号
你有什么想法?
安特伍德7号
代表:

document.getElementById('questions')。addEventListener(“单击”,函数(e){
常数tgt=e.target;
if(tgt.classList.contains(“问题文本”)){
tgt.nexist(“.questions”).querySelector(“.answer text”).classList.add('active');
}
});
。回答文本{
显示:无;
}
.主动{
显示:块;
}
.问题{
填充:20px;
字号:700;
}

你在瓦坎蒂的什么地方工作?
安特伍德6号
你有什么想法?
安特伍德7号

阅读代码中的注释进行解释

var getQuestions=document.querySelectorAll('.questions');
getQuestions.forEach(函数(问题){
问题.addEventListener('click',函数(e){
var目标=e.target;
//更改行:
//var answer=target.getElementsByClassName('answer-text');
//对下列事项:
var answer=this.closest('.questions')。querySelector('.answer text');
//发生的情况是:它向上移动到最接近的问题
//从单击发生的位置,查看.answer文本元素的.questions内部
answer.classList.add('active');
})
});
。回答文本{
显示:无;
}
.主动{
显示:块;
}
.问题{
填充:20px;
字号:700;
}

你在瓦坎蒂的什么地方工作?
安特伍德6号
你有什么想法?
安特伍德7号

检查您的
html
文件,
答案文本
属于
。问题
元素不在
上。问题文本
元素

因此,在每个
.question text
上单击事件处理程序,要获取所选问题的答案,您需要获取所选
parentElement
。question text
并在该父元素上找到
答案

并且
getElementsByClassName
返回
HTMLCollection
so
answer[0]
将返回目标answer元素

var getQuestions=document.querySelectorAll('.questions');
getQuestions.forEach(函数(问题){
问题.addEventListener('click',函数(e){
var目标=e.target;
var answer=target.parentElement.getElementsByClassName('answer-text');
回答[0]。类列表。添加('active');
})
});
。回答文本{
显示:无;
}
.主动{
显示:块;
}
.问题{
填充:20px;
字号:700;
}

你在瓦坎蒂的什么地方工作?
安特伍德6号
你有什么想法?
安特伍德7号

这是否回答了您的问题?谢谢现在,它实际上只在我单击“问题文本”时起作用,但我需要它处理.questions(即容器宽度:100%;)。