将firstchild添加到新添加的元素

时间:2012-11-29 15:47:36

标签: javascript

我需要为现有元素创建一个新子元素。问题add onclick event to newly added element in javascript对我帮助很大。

我无法将其定义为第一个孩子。我可以使用position放置它,但这仍然不够。我搜索了有关JavaScript的网站,但我一无所获。

这是我的代码:

if( !document.getElementById('callbackButton')){
  callback = function(){
  var button = document.createElement('button');
  button.id= 'callbackButton';
  var textbutton =document.createTextNode("Liste des années d'étude");
  button.appendChild(textbutton );
  button.style.position='absolute';
  button.style.top="60px";
  button.style.left="45px";
  button.style.width="200px";
  button.style.height="18px";
  button.onclick = function(){
    getElementsByIdStarWith('etageres-virtuelle')[0].innerHTML = oldInnerHtml;
    document.getElementById('etageres-virtuelles-etudes-germaniques').innerHTML =      oldInnerHtml;   
    wrapPager();
  };
  document.getElementById('etageres-virtuelles-etudes-germaniques').appendChild(button);
 };

此代码效果很好。

但是这段代码不起作用:

document.getElementById('etageres-virtuelles-etudes-germaniques').firstChild.nodeValue = button;
document.getElementById('etageres-virtuelles-etudes-germaniques').firstChild.nodeData = button;

这不是我想要的。我想首先显示这个新元素。

任何帮助将不胜感激。感谢。

1 个答案:

答案 0 :(得分:2)

试试这个(未经测试):

var yourEl = document.getElementById('etageres-virtuelles-etudes-germaniques');
yourEl.insertBefore(button, yourEl.firstChild);