请问一下各位前辈,为什么下面的代码不能删除p标签内的所有span元素.谢谢!<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
p span{
color:red;
}
</style>
</head><body>
<p>第一段内容第一段内容第一段内容第一段内容第一段内容<span>移除内容一</span>第一段内容第一段内容<span>移除内容二</span>第一段内容第一段内容第一段内容第一段内容第一段内容第一段内容</p>
<p> 第二段内容第二段内容第二段内容第二段内容第二段内容第二段内容<span>内容三</span>第二段内容第二段内容第二段内容第二段内容第二段内容第二段内容第二段内容</p>
<p> 第三段内容第三段内容第三段内容第三段内容<span>移除内容四</span> 第三段内容第三段内容第三段内容第三段内容第三段内容</p>
<script type="text/javascript">
var span=document.getElementsByTagName("span");
for (var i = 0; i < span.length; i++)
for(var i=0;i<span.length;i++)
{
span[i].parentNode.removeChild(span[i]);
}
</script>
</body>
</html>

解决方案 »

  1.   

    额,js代码发错了 <script type="text/javascript">
    var span=document.getElementsByTagName("span");
    for(var i=0;i<span.length;i++)
    {
    span[i].parentNode.removeChild(span[i]);
    }
    </script>
      

  2.   

    循环从后向前删.
    for(var i = span.length - 1; i >= 0; i--)
      

  3.   

        <script type="text/javascript">
        var span=document.getElementsByTagName("span");
        var count = span.length;
        for(var i = 0;i < count;i++)
        {
            span[0].parentNode.removeChild(span[0]);
        }
        </script>
      

  4.   

    span[]是一个数组引用
    你删除一个span时,这时候span[]数组的length会自动减少一位
    所以下面代码也是可以的var span=document.getElementsByTagName("span");
        for(var i=0;i<span.length;i++)
        {
            span[0].parentNode.removeChild(span[0]);
        }
      

  5.   

    sorry!!!var span=document.getElementsByTagName("span");
        for(var s=null;s=span[0];)
        {
            s.parentNode.removeChild(s);
        }