2013-04-15 38 views
0

我正在创建一个在线测验,它将由三个不同的应答方案组成,分别称为#useralt。所有div将具有相同的id但内容不同。内容与#answer-div相同的div将触发“正确!” div,而其他人则会触发“Sorry”-div。为什么只有第一个div响应函数?

我只能得到第一个#useralt-div的工作,下面得到麻木...任何人都可以帮助我让他们三个人工作?

这是网站:http://www.juliawallin.se/moviecharades/play.html

$(document).ready(function(){ 
$("#useralt").click(function(){ 
var correctAnswer = $('#answer').text().toLowerCase(); 
var givenAnswer = $('#useralt').text().toLowerCase(); 

var match = correctAnswer.match(new RegExp("^#moviecharades (.+)$")); 
correctAnswer = match[1]; 

if (givenAnswer == correctAnswer) 
{ 
    $("#correct").show("fast").delay("1000").hide("500"); //Slide Down Effect 
     $('#output').html(function(i, val) { return val*1+1 }); 
     var el = document.createElement('div'); 
     el.innerHTML = $("#output")[0].innerHTML; 
     document.getElementById('highscore').appendChild(el); 
     var interval = 1000 * 60 * 1; 
     APP.refresh(1, interval); 


} 
else 
{ 
    $("#correct").hide("fast"); //Slide Up Effect 
     $("#incorrect").show("500").delay("1000").hide("500"); 
} 

}); });

回答

0

ID必须是唯一的,你需要使用类。改变你的ID“useralt”类然后使用:

$(".useralt").click(function(){ 
var correctAnswer = $('#answer').text().toLowerCase(); 
var givenAnswer = $(this).text().toLowerCase(); 
.... 
... 
+0

太棒了!谢谢! – user1890129

0

ID必须是唯一的。所以这是行不通的。尝试是这样的:

<div class="useralt" id="useralt1"> 
<div class="useralt" id="useralt2"> 
<div class="useralt" id="useralt3"> 
+0

好吧,这是不可能的,使其有效的几个div?或者,我如何添加多个ID到同一个变量? – user1890129

相关问题