Javascript 如何将child附加到文本字段?

Javascript 如何将child附加到文本字段?,javascript,dom,appendchild,Javascript,Dom,Appendchild,我正在尝试创建一个文本字段,该字段接受用户输入,如果它是有效的电子邮件id,则创建一个标记 我正在使用appendChild()方法在创建标记后追加标记,但我无法这样做 下面是将附加到字段的代码: HTML <textarea id="customField" class="mdl-textfield__input" type="text" rows="1"></textarea> 我不确定这样做是否正确,但如果有人能提供帮助,那就太好了。您不能在输入字段中使用appe

我正在尝试创建一个文本字段,该字段接受用户输入,如果它是有效的电子邮件id,则创建一个标记

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

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

HTML

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

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

您不能在输入字段中使用
appendChild()
,而是在该输入字段的容器中使用,请参见此处的实时操作:


<>你也应该考虑使用这个方法,这有助于将指定的节点作为当前节点的子节点插入到引用节点之前。

正如@sonlexqt在注释中所建议的,我们不能附加到
标记,我们必须创建一个
带有
contenteditable=true
,并且可以将任何
附加到
字段。

这取决于
customField
元素为空。请注意,您正在将一个元素添加到其子元素中。如果它像一个
标记,那么它没有任何子项。也许您想使用
insertBefore
而不是
appendChild
?尝试详细说明什么不起作用,什么正在发生,或者更好地使用a或其他什么来提供更多代码。添加HTML代码,还将查看
insertBefore
方法。您的回答确实解释了一点,但没有回答我的问题,我希望标记位于输入字段内,而不是字段后。谢谢。
标签没有任何子项。如果您坚持在输入字段中添加标记,我的建议是您应该创建一个
元素,然后将其重新设置为类似“输入字段”的样式。您可以使用
contenteditable=“true”
属性编辑
元素中的文本。请参阅此处的更多信息:
document.getElementById("customField").appendChild(spanParent);