尝试在简单的HTML和JavaScript琐事游戏中显示分数

尝试在简单的HTML和JavaScript琐事游戏中显示分数,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,对Javascript和jQuery来说是完全陌生的。我正在用HTML、CSS和Javascript/jQuery构建这个小测试,遇到了一些问题 这是我的完整代码-供参考 这是我的HTML和JS的一个片段- <div class="question">Question1? <ul class="answers"> <li><label><input name="Question0" id="correct" type="check

对Javascript和jQuery来说是完全陌生的。我正在用HTML、CSS和Javascript/jQuery构建这个小测试,遇到了一些问题

这是我的完整代码-供参考

这是我的HTML和JS的一个片段-

<div class="question">Question1?
  <ul class="answers">
    <li><label><input name="Question0" id="correct" type="checkbox"> Answer1</label></li>
    <li><label><input name="Question0" id="wrong" type="checkbox"> Answer2</label></li>
    <li><label><input name="Question0" id="wrong" type="checkbox"> Answer3</label></li>
  </ul>
</div>

具体地说,我正试图以某种方式显示总分,但我不知所措。我知道这是在识别“正确”的答案,但随着测验的进行,显示这一点是我正在努力解决的问题。我知道在纯JavaScript中可能有更好的方法来实现这一点,但如果有任何方法可以挽救此方法,请帮助!谢谢

使用id属性不能真正做到这一点。但是,您可以使用value属性


然后需要修改“分数”字段。我想我没有看到你在哪里这样做。

你不能用id属性来做这件事。但是,您可以使用value属性


然后需要修改“分数”字段。我想我没有看到您在哪里这样做。

您应该将这些按钮转换为单选按钮,然后评估所选单选按钮以检查其是否正确:

<div class="question">Question1?
  <ul class="answers">
    <li><label><input name="Question0" value="correct" type="radio"> Answer1</label></li>
    <li><label><input name="Question0" value="wrong" type="radio"> Answer2</label></li>
    <li><label><input name="Question0" value="wrong" type="radio"> Answer3</label></li>
  </ul>
</div>

您应该将这些按钮转换为单选按钮,然后评估所选单选按钮以检查其是否正确:

<div class="question">Question1?
  <ul class="answers">
    <li><label><input name="Question0" value="correct" type="radio"> Answer1</label></li>
    <li><label><input name="Question0" value="wrong" type="radio"> Answer2</label></li>
    <li><label><input name="Question0" value="wrong" type="radio"> Answer3</label></li>
  </ul>
</div>

我同意使用单选按钮和值。您可以这样轻松地计算分数:

var score = $('input:checked[value=correct]').length
请参见此处的示例:


注意:如果您将“值”更改为“id”,它仍然有效。。。但是您应该避免重复ID

我同意使用单选按钮和值。您可以这样轻松地计算分数:

var score = $('input:checked[value=correct]').length
请参见此处的示例:


注意:如果您将“值”更改为“id”,它仍然有效。。。但是您应该避免使用重复的ID,我认为问题在于您将同一ID分配给多个元素,这是不允许的。相反,您可以为它们分配类。因此,在您的情况下,为各自的元素分配一个错误的类和一个正确的类。然后,在JavaScript中,尝试以下操作

var x = document.getElementsByClassName("correct");

这将获取类正确的所有元素,并将它们返回到一个数组中。

我认为问题在于您将同一ID分配给多个元素,这是不允许的。相反,您可以为它们分配类。因此,在您的情况下,为各自的元素分配一个错误的类和一个正确的类。然后,在JavaScript中,尝试以下操作

var x = document.getElementsByClassName("correct");


这将获取类正确的所有元素,并以数组形式返回它们。

我想您应该使用
单选按钮!我想知道选择的使用是否有所不同……您不应该有重复的
id=“error”
,id应该是唯一的。使用类而不是ID。@Barmar是否最好使用
value=“uniquethinghere”
?@user6442393,是否可以同时选择
correct
error
选项?我想您应该使用
单选按钮!我想知道选择的使用是否有所不同……您不应该有重复的
id=“error”
,id应该是唯一的。使用类而不是id。@Barmar是否最好使用
value=“uniquethinghere”
?@user6442393,是否可以同时选择
correct
error
选项?“您不能使用id执行此操作”?你确定吗?我想我最初有value属性,但出于某种原因,Javascript在识别“答案”时遇到了问题……考虑到每个元素的id都应该是唯一的,你应该会遇到问题。但是,输入标记的value属性可以更改。您必须告诉javascript获取的值。我还建议使用单选按钮,因为它将确保您只能选择一个答案。“你不能用这个id来做这个”?你确定吗?我想我最初有value属性,但出于某种原因,Javascript在识别“答案”时遇到了问题……考虑到每个元素的id都应该是唯一的,你应该会遇到问题。但是,输入标记的value属性可以更改。您必须告诉javascript获取的值。我还建议使用单选按钮,因为它将确保您只能选择一个答案。啊,是的,所以现在它说“结果”是未定义的…但我甚至不需要它!!这非常有帮助!啊,是的,所以现在它说“结果”是未定义的…但我甚至不需要它!!这非常有帮助!我可以看到这个工作,我还没有尝试过,我会测试它…谢谢!我删除了关于分数的部分。我还没有真正检查你是如何决定分数的,但我仍然认为这应该会有帮助:)我可以看到这个工作,我还没有尝试过,我会测试它…谢谢!我删除了关于分数的部分。我还没有真正检查你是如何决定分数的,但我仍然认为这应该会有所帮助:)