Colors 更改链接颜色和DIV文本

Colors 更改链接颜色和DIV文本,colors,hyperlink,tags,Colors,Hyperlink,Tags,请参阅以下JSFIDLE: 首先,这个脚本完成了我希望它完成的任务。单击问题1时,将显示答案1。单击问题2时,将显示答案2,依此类推 我的问题是,如果我连续两次点击任何一个问题,答案就会消失,直到我点击另一个问题。所以是这样的: 点击Q1 A1出现 再次单击Q1 A1消失 再次单击Q1 A1仍然不见了 单击Q2 A2出现 点击Q1 A1出现 有人知道如果问题被多次单击,我如何才能得到答案吗?这段代码有问题: var numb = this.className.replace('question

请参阅以下JSFIDLE:

首先,这个脚本完成了我希望它完成的任务。单击问题1时,将显示答案1。单击问题2时,将显示答案2,依此类推

我的问题是,如果我连续两次点击任何一个问题,答案就会消失,直到我点击另一个问题。所以是这样的:

  • 点击Q1
  • A1出现
  • 再次单击Q1
  • A1消失
  • 再次单击Q1
  • A1仍然不见了
  • 单击Q2
  • A2出现
  • 点击Q1
  • A1出现

  • 有人知道如果问题被多次单击,我如何才能得到答案吗?

    这段代码有问题:

    var numb = this.className.replace('question', '');
    
    this.className
    在单击的问题已经是活动问题时,其值为“question1 active”,因此
    numb
    将获得值“1 active”

    有两种方法可以解决此问题:

  • 在计算numb的值之前删除“active”类
  • 使用正则表达式:
    
    var myRe=/question(\d)/g;
    var myArray=myRe.exec(this.className);
    var numb=myArray[1]

  • 你能建议一个解决办法吗?我尝试添加一行:var numb=this?className.replace('active',''),但这无法清除“active”类。您的第二种方法对我有效!非常感谢!
    var numb = this.className.replace('question', '');