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
问题的元素,给它们一次点击,然后针对特定的点击元素。在这个单击的元素中,我想得到带有classanswertext
的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
soanswer[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%;)。