简体   繁体   English

将 firstchild 添加到新添加的元素

[英]Add firstchild to newly added element

I need to create a new child to an existing element.我需要为现有元素创建一个新子项。 The question add onclick event to newly added element in javascript helped me a lot.向 javascript 中新添加的元素添加 onclick 事件的问题对我帮助很大。

I just can not define it as the first child.我只是无法将其定义为第一个孩子。 I can place it using position , but this is still insufficient.我可以使用position放置它,但这仍然不够。 I searched on sites about JavaScript, but I found nothing.我在网站上搜索了有关 JavaScript 的内容,但一无所获。

Here is my code:这是我的代码:

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);
 };

This code works very well.这段代码工作得很好。

But this code doesn't work:但是这段代码不起作用:

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

This is not what I want.这不是我想要的。 I want to display this new element on first place.我想首先显示这个新元素。

Any help would be appreciated.任何帮助,将不胜感激。 Thank.谢谢。

Try this (untested):试试这个(未经测试):

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM