Function 如何使用相同的函数仅使一个元素可见

Function 如何使用相同的函数仅使一个元素可见,function,visibility,display,hidden,Function,Visibility,Display,Hidden,我正在尝试设置一个常见问题页面。我可以为每个问题分配一个单独的函数,将答案存储在我的HTML中并显示为隐藏,然后事件将触发函数以显示隐藏的答案。我试图找到一种方法来使用相同的函数来实现这一点。这是我到目前为止所做的,包括示例文本。现在发生的事情是,如果我点击第一个问题,所有的答案都会立刻出现,我显然不希望出现这个问题,而是希望一次出现一个答案,谢谢 <script> function displayAnswer () { var getParent =

我正在尝试设置一个常见问题页面。我可以为每个问题分配一个单独的函数,将答案存储在我的HTML中并显示为隐藏,然后事件将触发函数以显示隐藏的答案。我试图找到一种方法来使用相同的函数来实现这一点。这是我到目前为止所做的,包括示例文本。现在发生的事情是,如果我点击第一个问题,所有的答案都会立刻出现,我显然不希望出现这个问题,而是希望一次出现一个答案,谢谢

     <script>
 
      function displayAnswer () { 

var getParent = document.getElementsByClassName("questions");
var getParentNode = getParent[0];
var child = getParentNode.childNodes[3];
child.style.visibility = "visible";

var getParent = document.getElementsByClassName("questions");
var getParentNode = getParent[1];
var child = getParentNode.childNodes[3];
child.style.visibility = "visible";

var getParent = document.getElementsByClassName("questions");
var getParentNode = getParent[2];
var child = getParentNode.childNodes[3];
child.style.visibility = "visible";
}

函数displayAnswer(){
var getParent=document.getElementsByClassName(“问题”);
var getParentNode=getParent[0];
var child=getParentNode.childNodes[3];
child.style.visibility=“可见”;
var getParent=document.getElementsByClassName(“问题”);
var getParentNode=getParent[1];
var child=getParentNode.childNodes[3];
child.style.visibility=“可见”;
var getParent=document.getElementsByClassName(“问题”);
var getParentNode=getParent[2];
var child=getParentNode.childNodes[3];
child.style.visibility=“可见”;
}
如果我想买一件东西会怎么样

这花了600英镑,但我们提供折扣

如果我想买一件东西会怎么样

这花了600英镑,但我们提供折扣

如果我想买一件东西会怎么样


这花费了600英镑,但我们提供dis计数

我现在已经解决了这个问题,使用关键字this,然后传递函数

     function displayAnswer (element)

     element.parentNode.secondElementChild.style.visibility= "visible";

这项工作符合要求:

document.getElementById('allquestions')。onclick=function(ev){
让child=ev.target;//get clicked元素
if(child.tagName='P'&&Array.prototype.indexOf.call(child.parentNode.children,child)==0)
child.nextElementSibling.style.display=“block”;
}
#allquestions div p:n第n个子项(2){display:none}

首先点击

这花了400英镑,但我们提供折扣

第二项

这花了500英镑,但我们提供折扣

第三项

这花了600英镑,但我们提供折扣


谢谢,我还没有完全理解你的代码,但我能欣赏它的简单性,谢谢你的回复