请参阅以下JSFiddle:
$(document).ready(function () {
$('[id^=answer]').not('#answer').hide();
$('[class^="question"]').on('click', function (e) {
e.preventDefault();
var numb = this.className.replace('question', '');
$('[id^=answer]').hide();
$('#answer' + numb).show();
var plinks = $('div.plink a');
plinks.removeClass('active');
var alink = $(this);
alink.addClass('active');
$('#answer' + numb).show();
});
});
主要是,这个脚本做了我想要它做的事情。单击问题1时,将显示答案1。当我单击问题2时,会显示答案2,依此类推。
我的问题是,如果我连续两次点击任何一个问题,答案就会消失,直到我点击另一个问题。所以它是这样的:
如果多次点击该问题,任何人都知道我如何能够得到答案?
答案 0 :(得分:0)
这段代码存在问题:
var numb = this.className.replace('question', '');
当点击的问题已经是活动问题时, this.className
的值为“问题1有效”,因此numb
将获得值“1有效”
有两种方法可以解决这个问题:
var myRe = /question(\d)/g;
var myArray = myRe.exec(this.className);
var numb = myArray[1];