admin管理员组

文章数量:1326641

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>

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>
Share Improve this question asked Jan 29, 2010 at 12:42 JeroenVdbJeroenVdb 8081 gold badge13 silver badges22 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 6

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 plete 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.

本文标签: htmlHowto copy a whole div to another div when javascript is triggered in the divStack Overflow