I have two columns. People have to select elements from the first column and it will be added to the second column.
I can use innerHTML but I never know how many elements there are going to be. So when I click the link 'MOVE' I would have to know the ID of the element (in the example element1, element2 or element3). Does someone know how I get the parent of the parent div where the javascript triggered?
Like this:
<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>
You can pass a reference of the anchor element to the function copy and use parentNode
attribute to get the immediate parent.
<a href="#" onclick="copy(this)">MOVE</a>
function copy(elem)
{
alert(elem.parentNode.parentNode)
}
See parentNode
Your complete copy function will be
function copy(elem)
{
var target = document.getElementById ( "column2");
target.appendChild ( elem.parentNode.parentNode );
}
Working Demo
Note
Also there is a problem with your HTML. You have multiple elements with the same id. This is not valid. You have multiple div elements with the same id "right". Change these to unique ids.
精彩评论