我有一个"故障计数器"存储所有错误答案的值。它从0开始,每个错误的答案都会上升一个。
我希望结果屏幕能够显示您所犯的错误数量。因此,如果div#fault-counter的值为3,则结束文本将显示"抱歉,您已经犯了3个错误!"
这是我尝试过的代码,但它似乎无法运作。关于如何做到这一点的任何想法?
var faultcounter = $('#fault-counter');
$('#slickQuiz').prepend('<h1>Sorry, you have ' + $('#fault-counter') + ' faults!</h1>');
修改 &#39;故障计数器的HTML&#39;看起来像这样:
<div id="fault-display">
<div id="fault-counter">0</div>
<h3>FAULTS</h3>
</div>
用于增加每个错误答案的值的jQuery是:
$(".failQuestion").click(function(){
$('#fault-counter').html(function(i, val) { return val*1+1 });
});
答案 0 :(得分:3)
试试这个,因为你的错误计数器是一个div而不是.text()就足够了。
$('#slickQuiz').prepend('<h1>Sorry, you have ' + $('#fault-counter').text() + ' faults!</h1>');
答案 1 :(得分:1)
var faultcounter = $('#fault-counter').val();
$('#slickQuiz').prepend('<h1>Sorry, you have ' + faultcounter + ' faults!</h1>');
您必须使用#fault-counter
从.val()
获取值,然后将变量而不是jQuery选择器附加到#slickQuiz
。
话虽这么说,我假设您正在使用输入或选择#fault-counter
。否则.text()
就足够了
答案 2 :(得分:1)
我认为存在问题:
var faultcounter = $('#fault-counter');
if $('#fault-counter') is a input control then use "VAL()" :
$('#slickQuiz').prepend('<h1>Sorry, you have ' + $('#fault-counter').val() + ' faults!</h1>');
OR
如果$('#fault-counter')是DIV控件,那么使用“html()”:
$('#slickQuiz').prepend('<h1>Sorry, you have ' + $('#fault-counter').html() + ' faults!</h1>');
答案 3 :(得分:1)
var faultcounter = $('#fault-counter').text();
$('#slickQuiz').prepend('<h1>Sorry, you have ' + faultcounter + ' faults!</h1>');
这是你想要使用的,因为你提到#fault-counter
是一个div。如果是这样,那么您将需要使用.text
方法。如果是输入或文本区域,则使用.val
方法。