附加到div,而不是body

时间:2012-04-23 21:36:37

标签: javascript dom

  

可能重复:
  Inserting an element
  How to do insert After() in JavaScript without using a library?

我在项目中添加了一点javascript,在页面正文后面添加了一个聊天窗口,我想更改它,以便在我指定的div“myPublisherDiv”之后添加聊天窗口。我觉得这很简单,有什么想法吗?提前谢谢!

var div = document.createElement('div');
    div.setAttribute('id', 'stream' + streams[i].streamId);
    document.body.appendChild(div);

3 个答案:

答案 0 :(得分:1)

为你的div加上一个id

<div id="myDiv">..</div>

然后使用appendChild附加内容:

document.getElementById("myDiv").appendChild(div);

答案 1 :(得分:1)

这有点棘手。 insertBefore很简单,因为我在编写一个litte helper函数的节点之后插入:

function insertAfter(newElement, referenceElement) {
    referenceElement.parentNode.insertBefore(newElement, referenceElement.nextSibling);
}

var div = document.createElement('div');
...
insertAfter(document.getElementById("myPublisherDiv"), div);

但另见https://stackoverflow.com/a/1559632/1048572

答案 2 :(得分:1)

应该这样做..

var div = document.createElement('div');
div.setAttribute('id', 'stream' + streams[i].streamId);

var target = document.getElementById('myPublisherDiv');

target.parentNode.insertBefore(div, target.nextSibling);

摘自How to do insert After() in JavaScript without using a library?