gpt4 book ai didi

javascript - 创建元素时使用 insertBefore 和appendChild 时出错

转载 作者:行者123 更新时间:2023-12-01 03:51:46 26 4
gpt4 key购买 nike

尝试将按钮附加到 body 标记的顶部和底部,但它仅执行两者中最后一个的操作。我在这里遗漏了一些明显的东西吗?

var msg_node = document.createElement("a");
msg_node.setAttribute("onclick", "collapseAll()");
msg_node.setAttribute("href", "javascript:void(0)");
msg_node.setAttribute("class", "kc_button");
var msg_textnode = document.createTextNode('COLLAPSE ALL');
msg_node.appendChild(msg_textnode);
document.getElementsByTagName('body')[0].appendChild(msg_node); // supposed to make button
document.body.insertBefore(msg_node, document.body.children[0]); // makes only this button

最佳答案

在第二次追加之前克隆节点:

var msg_node = document.createElement("a");
msg_node.setAttribute("onclick", "collapseAll()");
msg_node.setAttribute("href", "javascript:void(0)");
msg_node.setAttribute("class", "kc_button");
var msg_textnode = document.createTextNode('COLLAPSE ALL');
msg_node.appendChild(msg_textnode);
document.getElementsByTagName('body')[0].appendChild(msg_node); // supposed to make button
document.body.insertBefore(msg_node.cloneNode(true), document.body.children[0]); // makes only this button

关于javascript - 创建元素时使用 insertBefore 和appendChild 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43120804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com