2016-12-09 38 views
0

工作這是HTML代碼。
此代碼工作在Mozilla,但在Chrome中不工作。克隆不是抄襲Chrome瀏覽器的輸入值,但在Mozilla

<!DOCTYPE html> 
<html> 
    <body> 
    <ul id="myList1"> 
     <li>Item 1</li> 
     <li>Item 2</li> 
    </ul> 
    <ul id="myList2"> 
     <li>Water</li> 
     <li> 
     <input id="files" name="files" type="file" /> 
     </li> 
    </ul> 
    <p>Click the button to copy an item from one list to another.</p> 
    <button onclick="myFunction()">Try it</button> 
    <p>Try changing the <em>deep</em> parameter to false, and only an empty LI element will be cloned.</p> 
    <script> 
     function myFunction() 
     { 
     var itm = document.getElementById("myList2").lastChild; 
     var cln = itm.cloneNode(true); 
     document.getElementById("myList1").appendChild(cln); 
     } 
    </script> 
    </body> 
</html> 

回答

0

可以請你精確你的問題有點更清晰

+0

做可以請你不能發表評論的答案? – PeterT

0

lastChild包括所有的子節點,包括文本節點。所以你得到的是不是一個元素,但與</li></ul>之間的換行和空間文本節點。

所以,你想要的是最後一個子元素,而不是最後一個子節點。

,你可以用

function myFunction() 
{ 
    var itm = document.getElementById("myList2").lastElementChild; 
    var cln = itm.cloneNode(true); 
    document.getElementById("myList1").appendChild(cln); 
} 
相關問題