Javascript 未捕获的DomeException:未能执行';removeChild';在';节点';
无法在“节点”上执行“removeChild”:要删除的节点为 不是此节点的子节点 当我执行下面的代码时,我得到了错误。有没有办法解决这个问题Javascript 未捕获的DomeException:未能执行';removeChild';在';节点';,javascript,html,Javascript,Html,无法在“节点”上执行“removeChild”:要删除的节点为 不是此节点的子节点 当我执行下面的代码时,我得到了错误。有没有办法解决这个问题 function clickLinks(links) { for(var item in links) { var anchor = document.createElement("a"); anchor.target = "_blank"; anchor.href = links[item];
function clickLinks(links) {
for(var item in links) {
var anchor = document.createElement("a");
anchor.target = "_blank";
anchor.href = links[item];
document.body.appendChild(anchor);
window.setTimeout(function() {
anchor.dispatchEvent(new MouseEvent("click",{
"bubbles" : true,
"cancelable" : true,
"view" : window
}));
window.setTimeout(function() {
document.body.removeChild(anchor);
}, 50);
}, 50);
}
}
您需要为正在使用的锚点变量创建一个闭包,以确保它不会在for循环的下一次迭代中被覆盖
function clickLinks(links) {
for(var item in links) {
var anchor = document.createElement("a");
anchor.target = "_blank";
anchor.href = links[item];
document.body.appendChild(anchor);
(function iifeclosure(anchor){
window.setTimeout(function() {
anchor.dispatchEvent(new MouseEvent("click",{
"bubbles" : true,
"cancelable" : true,
"view" : window
}));
window.setTimeout(function() {
document.body.removeChild(anchor);
}, 50);
}, 50);
})(anchor);
}
}