首页 > 解决方案 > 从检查功能中找不到 ID

问题描述

我的 javascript 和 HTML 代码有一个小问题。问题是该函数document.getElementById('id').checked找不到(我猜)'id',因为我打印了这个并且不是静态的。因为total变量没有增加。我添加了一个例子。另外,我是 javascript 新手。

if(case1){
document.getElementById("demo").innerHTML="<p style='color:red'>What is your genre?</p>"+
        "<input type='radio' id='q1' name='quest1' value='quest1.1' >"+
        "<label for='quest1.1'>Male</label><br>"+
        "<input type='radio' id='q2' name='quest1' value='quest1.2' >"+
        "<label for='quest1.2'>Female</label><br>"+";

 if(document.getElementById('q1').checked){       /*If 'Male' is checked*/
    total++;
 }
}

标签: javascripthtml

解决方案


这是因为默认情况下不检查您注入的 HTML,因此没有运行“if”循环。如果您将“选中”添加到您的 HTML,它将起作用。

document.getElementById("demo").innerHTML="<input type='radio' id='q1' name='quest1' value='male' checked>"+

这会触发函数,但在不了解您的用例的情况下,我们将不知道这是否是您想要的。如果您希望仅在选中该框时触发该函数,则需要添加一个 onChange eventListener 来触发该函数。


推荐阅读