开发者

Howto copy a whole div to another div when javascript is triggered in the div

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜