最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

html - Howto copy a whole div to another div when javascript is triggered in the div - Stack Overflow

programmeradmin1浏览0评论

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.

发布评论

评论列表(0)

  1. 暂无评论