问答详情
源自:9-12 插入节点appendChild()

搞不明白哪错了。。。求大神指点!!!

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <title></title>

    <script type="text/javascript">

        function replace() {

            var myvalue1 = document.getElementById("tag").value;

            var myvalue2 = document.getElementById("txt").value;

            var myp=document.getElementById("lvye");

            var e=document.createElement(myvalue1);

            var t=document.createTextNode(myvalue2);

            e.appendChild(t);

            document.replaceChild(e,myp);

        }

    </script>

</head>

<body>

    <p id="lvye">慕课网</p>

    <hr />

    输入标签:<input id="tag" type="text"/><br />

    输入文本:<input id="txt" type="text"/><br />

    <input type="button" value="替换" onclick="replace()" />

</body>

</html>


提问者:慕数据5775487 2016-11-27 00:28

个回答

  • 神乐的比丘秦犬
    2016-11-27 02:17:27
    已采纳

    document.getElementById("tag")返回的是一个Element节点,这个节点的value的值如果用document.getElementById("tag").value来得到的话是个null,如过想获得input里面的值,需要用document.getElementById("tag").firstChild.value,即它的第一个子节点的值才是你在text框里输入的值

  • 慕粉1558199788
    2016-12-06 06:29:24

    我也是在你的基础上改的,你好像没搞明白父子节点的关系和替换关系

  • 慕粉1558199788
    2016-12-06 06:25:14

    <!DOCTYPE html>

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>

        <title></title>

        <script type="text/javascript">

            function replace() {

                var myvalue1 = document.getElementById("tag").value;
               var  myid1=document.getElementById("tag");

                var myvalue2 = document.getElementById("txt").value;
               var myid2=document.getElementById("txt");
                var myp=document.getElementById("lvye");

                var newnode1=document.createElement("input");
                newnode1.value=myvalue2;

                var newnode2=document.createElement("input");
                newnode2.value=myvalue1;
                
                myp.parentNode.replaceChild(newnode1,myid1);
                myp.parentNode.replaceChild(newnode2,myid2);
           

            }

        </script>

    </head>

    <body>

        <p id="lvye">慕课网</p>

        <hr />

        输入标签:<input id="tag" type="text"/><br />

        输入文本:<input id="txt" type="text"/><br />

        <input type="button" value="替换" onclick="replace()" />

    </body>

    </html>