我需要为现有元素创建一个新子元素。问题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;
这不是我想要的。我想首先显示这个新元素。
任何帮助将不胜感激。感谢。
答案 0 :(得分:2)
试试这个(未经测试):
var yourEl = document.getElementById('etageres-virtuelles-etudes-germaniques');
yourEl.insertBefore(button, yourEl.firstChild);