1

我需要为现有元素创建一个新子元素。将 onclick 事件添加到 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;

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

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

4

1 回答 1

2

试试这个(未经测试):

var yourEl = document.getElementById('etageres-virtuelles-etudes-germaniques');
yourEl.insertBefore(button, yourEl.firstChild);
于 2012-11-29T16:00:15.943 回答