为什么标签div1如果放在表单外,则以下代码正常。但放在表单里,则无效果。
如果将标签放到表单内,如何修改js代码呢?<script type="text/javascript">
function func()
{
var div1 = document.getElementById("div1");
var img = document.createElement("img");
img.id = "img1";
img.src = "images/baidu_logo.gif";
document.body.replaceChild(img,div1);
}
</script><form action="" method="post">
<div id="div1" onclick="func()">我是一个div1</div>
</form>

解决方案 »

  1.   

    div1.parentNode.replaceChild(img,div1)
      

  2.   

    给form加个name或id即可
    改成document.getElementById("form1").replaceChild(img, div);或者
    document.formname.replaceChild(img, div);    <script type="text/javascript">
            function func() {
                var div = document.getElementById("div1");
                var img = document.createElement("img");
                img.id = "img1";
                img.src = "http://www.baidu.com/img/baidu_logo.gif";            document.getElementById("form1").replaceChild(img, div);
            }
        </script></head>
    <body>
        <form id="form1">
        <div id="div2" style="background-color: red">
            我是一个div</div>
        <div id="div1" style="background-color: lightgreen" onclick="func()">
            我是一个div</div>
        <div id="div3" style="background-color: blue">
            我是一个div</div>
        </form>
    </body>