我无法通过JavaScript删除页面中的所有段落

wei*_*lou 1 iteration dom addeventlistener removechild getelementsbytagname

<!DOCTYPE html>
<meta charset="utf-8">
<title>An HTML5 Document</title>
<p>1
<p>2
<p>3
<p>4
<p>5
<p>6
<p>7
<p>8
<p>9
<p>10
<p>11
<p>12
<script>
    // When the document is clicked, codes below should remove all the paragraphs in the page.
    // There are 12 paragraphs in the page, but codes below can just remove 6 of them.
    document.addEventListener('click', function () {
        var i, allParagraphElements = document.getElementsByTagName('p');
        console.log('allParagraphElements.length: ' + allParagraphElements.length);
        for (i = 0; i < allParagraphElements.length; i += 1) {
            console.log('i: ' + i);
            allParagraphElements[i].parentNode.removeChild(allParagraphElements[i]);
        }
    }, false);
</script>
Run Code Online (Sandbox Code Playgroud)

请参阅jsFiddle上的代码:http://jsfiddle.net/7NmRh

我该如何解决这个问题?谢谢.

rsp*_*lak 5

你从上到下迭代:

迭代一: 十二段,索引= 0

删除索引0处的段落,段落1现在位于索引0处

第二次迭代: 十一段,索引= 1

索引1处的段落被删除,段落2现在位于索引1处


你看出出了什么问题?您只删除了一半的段落

迭代反过来,删除所有段落

的jsfiddle