我不知道如何只写一次dom文档

时间:2016-06-11 16:20:05

标签: javascript dom

我想重写一次dom文档。

HTML:

<body>          

<form id="test">
<table border="1" cellpadding="5" cellspacing="0">
<tr>
<td width="30%">?</td>
<td>
<input name="q1" type="checkbox" id="q1" value="R"/>
R
<input name="q1" type="checkbox" id="q1" value="T"/>
T
<input name="q1" type="checkbox" id="q1" value="Ra"/>
Ra
<input name="q1" type="checkbox" id="q1" value="Ho"/>
Ho
<input name="q1" type="checkbox" id="q1" value="F"/>
F
<input name="q1" type="checkbox" id="q1" value="Fr"/>
Fr
<input name="q1" type="checkbox" id="q1" value="Fo"/>
Fo
</td>
</tr>
</table>
<br/>
<input name="submit" type="button" onClick="gradeTest()" value="Com"/>

</form> 
</body>

我试过这个:

function gradeTest() {
    var a1 = document.getElementsByName('q1');
    var a1answers = new Array();
    var a1right = new Array('R','T','Ra');
    var a1bool = true;

    for(i = 0; i < a1.length; i++) {
        if(a1[i].checked) {
            a1answers.push(a1[i].value);
        }
    }
    a1answers.sort();
    a1right.sort();
    if(a1answers.length == a1right.length) {
        for(i = 0; i < a1answers.length; i++) {
            if(a1answers[i] != a1right[i]) {
                a1bool = false;
                break;
            }
        }
    }
    else {
        a1bool = false;
    }
    if(a1bool == true) {
        var moveable = document.getElementById('test');
        var s = '<p align="center"> <img border=0 src="arbol.png" width="250" /></p>'; 
        var div = document.createElement('div');
        div.innerHTML = s;
        var elements = div.firstChild;  
        document.body.appendChild(elements);

        var newParent = document.body.appendChild(document.createElement('test'));
        newParent.removeChild(newParent.firstChild);
        newParent.insertBefore(moveable, newParent.firstChild);
        correctAnswers++;
    }
}

当我执行此代码时,打印大量图像,但我想要一个。

在第6行,我把测试没有测试没有工作

谢谢

1 个答案:

答案 0 :(得分:0)

检查您是否已经添加了新元素,并且不要再添加它。

{{1}}