日期:2014-05-16  浏览次数:20353 次

请问。for循环,为什么只执行一次

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

    <script type="text/javascript">
        window.onload = function() {
            var arr = document.getElementsByName('textfield2');
            for (var i = 0; i < arr.length; i++) {
                var parString = arr[i].value;
                arr[i].parentNode.innerHTML = parString;
            }
        }
       
    </script>

</head>
<body>
    <div id="d1">
        <input name="textfield2" type="text" value="1.3" size="10" />
    </div>
    <div id="d2">
        <input name="textfield2" type="text" value="2.3" size="10" />
    </div>
    
</body>
</html>

请大家帮忙看下

------解决方案--------------------
本帖最后由 net_lover 于 2013-07-23 11:53:00 编辑
因为
arr[i].parentNode.innerHTML把第一个input删除了
------解决方案--------------------
2楼正解!!!!!!!!!!
------解决方案--------------------
for (var i = 0,l = arr.length; i < l; i++) {
       arr[0].parentNode.innerHTML = arr[0].value;
}
这是因为每替换掉一个 textfield2 ,则这个元素从arr中删除,
arr的第一个元素就是下一个要替换的元素。