如何将 appendChild 附加到文本字段?

How can I appendChild to a text field?

我正在尝试创建一个文本字段,它接受用户输入并创建一个标签(如果它是有效的电子邮件 ID)。

我正在使用 appendChild() 方法在创建标签后附加标签,但我无法这样做。

下面是将 <span> 附加到字段的代码:

HTML

<textarea id="customField" class="mdl-textfield__input" type="text" rows="1"></textarea>

JS

document.getElementById("customField").appendChild(spanParent);

我不确定这样做是否正确,但如果有人能提供帮助,那就太好了。

您不能将 appendChild() 与输入字段一起使用,而是与该输入字段的容器一起使用,请在此处查看实时操作:https://jsfiddle.net/37b2fa2e/2/

您还应该考虑使用 insertBefore() 方法,这有助于将指定节点作为当前节点的子节点插入到引用节点之前。

正如@sonlexqt 在评论中所建议的,我们不能附加到 <input> 标签,我们必须创建一个带有 contenteditable=true<div> 并且可以将任何 <div> 附加到<input> 字段。