xxx.insertAdjacentHTML("beforeEnd","xxx");

解决方案 »

  1.   

    xxx.appendChild(document.createTextNode("xxx"));
      

  2.   

    估计你是要动态增加文件控件。如果xxx是html语句,可以用
    xxx.appendChild(document.createElement("<input name=file1 type=file>"));
      

  3.   

    sigh....
    <span id=xxx>
    <input type=file name=filename>
    </span>
    <input type=button value=add onclick=add()>
    <script>
    function add(){
    xxx.insertAdjacentText("beforeEnd","aaa");
    xxx.insertAdjacentHTML("beforeEnd","bbb");
    xxx.insertAdjacentElement("beforeEnd",document.createElement("span")).innerText="ccc";
    xxx.insertBefore(document.createElement("span")).innerText="ddd";
    xxx.appendChild(document.createElement("span")).innerText="fff";
    xxx.replaceAdjacentText("beforeEnd","xxx");
    }
    </script>
      

  4.   

    能解释原因么上面有些方法我早用过了,知道可以。只是不知道这里为什麽用innerHTML行不通???
      

  5.   

    type=file 在网页重载等动作时会自动清空.
      

  6.   

    用 innerHTML 里可以明显地看到整个页面被重载了(不是刷新),因此 file 文本框被清空.
      

  7.   

    innerHTML+=实际上是先取出再修改xxx的innerHTML
    xxx.innerHTML=xxx.innerHTML+"xxx"
    取出没问题,而type=file不能设置初始值,所以就清空了<span id=xxx>
    <input name=filename>
    <input type=file name=filename>
    </span>
    <input type=button value=add onclick=add()>
    <script>
    function add(){
    xxx.innerHTML +="xxx";
    }
    </script>