gpt4 book ai didi

javascript - 如何使用纯 JavaScript 追加后获取 html 元素?

转载 作者:行者123 更新时间:2023-12-03 03:00:25 24 4
gpt4 key购买 nike

我找到了一些 JQuery 解决方案,但由于学校任务限制,我无法使用纯 Javascript,并且我需要使用尚未在 DOM 中的特定早期附加元素来由我的 CKEDITOR 替换。

代码:

function newOption(){

...

mainUL = document.getElementById("myUL");

var inputA = document.createElement("input");
inputA.type ="text";
inputA.style = "margin-right: 45px";
inputA.name = "option[]";
inputA.id = inputID;

mainUL.appendChild(inputA );

CKEDITOR.replace(inputID).setData('Type anything you want ...');

...

}

用 CKEDITOR 替换我的输入会使 JS 失败,因为输入通常仍然不在 DOM 中。我尝试使用

mainUL.innerHTML += "all elements like html text";

这是有效的,会立即将元素插入到 DOM 中,但我不能使用innerHTML,因为它会删除旧的监听器(例如,JS 会将选中的复选框从选中设置为未选中,我的主要问题是什么我必须尝试使用​​追加 DOM 函数)。

最佳答案

尝试更改代码以将对 CKEDITOR.replace 的调用包装在 setTimeout 中:

setTimeout(function() {
CKEDITOR.replace(inputID).setData('Type anything you want ...');
},0).

这将使浏览器有时间在尝试替换元素之前插入该元素。

我假设 inputID 中有一个有效值...

关于javascript - 如何使用纯 JavaScript 追加后获取 html 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47423936/

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