2010-01-29 209 views
0

我有兩列。人們必須從第一列中選​​擇元素,並將其添加到第二列。如何在div中觸發javascript時將整個div複製到另一個div

我可以使用innerHTML,但我永遠不知道會有多少元素。所以當我點擊鏈接'MOVE'時,我必須知道元素的ID(在示例element1,element2或element3中)。有人知道我是如何獲得JavaScript觸發的父div的父級?

像這樣:

<div id="column1"> 
    <div id="element1">random tekst 1 
     <div id="right"> 
      <a href="#" onclick="copy()">MOVE</a> 
     </div> 
    </div> 
    <div id="element2">random tekst 2 
     <div id="right"> 
      <a href="#" onclick="copy()">MOVE</a> 
     </div> 
    </div> 
    <div id="element3">random tekst 3 
     <div id="right"> 
      <a href="#" onclick="copy()">MOVE</a> 
     </div> 
    </div> 
</div> 

<div id="column2"> 

</div> 

回答

6

您可以通過錨固件的參考功能複製和使用parentNode屬性來獲得直接父。

<a href="#" onclick="copy(this)">MOVE</a> 

function copy(elem) 
{ 
    alert(elem.parentNode.parentNode) 
} 

parentNode

你完整的複製功能將

function copy(elem) 
    { 
     var target = document.getElementById ("column2"); 
     target.appendChild (elem.parentNode.parentNode); 
    } 

Working Demo

您的HTML也存在問題。你有多個具有相同ID的元素。這是無效的。您有多個具有相同ID的「div」元素。將這些更改爲唯一的ID。

相關問題