Javascript 我可以在任何HTML元素上调用appendChild吗?

Javascript 我可以在任何HTML元素上调用appendChild吗?,javascript,html,Javascript,Html,有人知道我是否可以对任何HTML元素调用appendChild吗 具体来说,我需要在输入type='text'时执行此操作,它似乎可以工作吗?但这是正确的吗 下面是我的代码片段: var txt = document.createElement('input'); txt.type = 'text'; ... var div = document.createElement('div'); ... txt.appendChild(div); 发件人: 内容模型:空 将元素放入输入中是无效的 如

有人知道我是否可以对任何HTML元素调用appendChild吗

具体来说,我需要在输入type='text'时执行此操作,它似乎可以工作吗?但这是正确的吗

下面是我的代码片段:

var txt = document.createElement('input');
txt.type = 'text';
...
var div = document.createElement('div');
...
txt.appendChild(div);
发件人:

内容模型:空

将元素放入
输入中是无效的

如果要设置输入值,请使用
value
属性:

input.value = 'someText';
如果要在输入之前添加元素,请使用:

要在输入之后插入div,可以执行以下操作

input.parentNode.insertBefore(div, input.nextSibling);
发件人:

内容模型:空

将元素放入
输入中是无效的

如果要设置输入值,请使用
value
属性:

input.value = 'someText';
如果要在输入之前添加元素,请使用:

要在输入之后插入div,可以执行以下操作

input.parentNode.insertBefore(div, input.nextSibling);
有人知道我是否可以对任何HTML元素调用appendChild吗

你可以。它是元素节点的标准功能。但这可能并不总是有意义的

具体来说,我需要在输入type='text'时执行此操作,它似乎可以工作吗?但这是正确的吗

元素定义为空。它们仍然有标准的DOM方法,但不允许有子节点。您正试图将DOM置于无效状态,并且(据我所知)当您这样做时发生的行为是未定义的。你不应该这样做

有人知道我是否可以对任何HTML元素调用appendChild吗

你可以。它是元素节点的标准功能。但这可能并不总是有意义的

具体来说,我需要在输入type='text'时执行此操作,它似乎可以工作吗?但这是正确的吗


元素定义为空。它们仍然有标准的DOM方法,但不允许有子节点。您正试图将DOM置于无效状态,并且(据我所知)当您这样做时发生的行为是未定义的。您不应该这样做。

不,您不能将子元素附加到输入元素。它是一个独立的元素。但是,您可以将输入元素附加到div元素。

否您不能将子元素附加到输入元素。它是一个独立的元素。但是,您可以将输入元素附加到div元素。

不,您不能将子元素附加到输入,这是因为标准规定此元素的内容模型为空

它只有可由“.”语法访问的属性,如

input.propertie

不,您不能将子元素附加到输入中,这是因为标准声明此元素的内容模型为空

它只有可由“.”语法访问的属性,如

input.propertie

为什么需要对
元素执行此操作?您只能将元素附加到可以容纳元素的元素,这样输入字段就不能作为父字段使用。我需要将其添加到输入中,因为它是作为函数中的输入传递给我的。我无法调用parent,因为它可能没有。您只能将Child附加到html布局元素。那些有明显的开始和结束标记。像
span,div,a,body,head,table,tr,th,td…
但是你可以更改所有元素的所有属性。为什么你需要为
元素这样做呢?你只能将元素附加到可以保存元素的元素上,这样输入字段就不会作为父字段工作。我需要将它添加到输入中,因为它是作为函数中的输入传递给我的。我无法调用parent,因为它可能没有。您只能将Child附加到html布局元素。那些有明显的开始和结束标记。像
span、div、a、body、head、table、tr、th、td…
但是您可以更改所有元素的所有属性。谢谢。你可能是对的,我将把这个标记为正确答案。对于record input.parentNode,假设输入文本有一个父项,而在我想在示例中添加div时,该父项可能不存在。。。这就是为什么我问这样一个问题:如果您的输入元素被附加到dom中,那么它有一个父元素。如果要添加后续元素,您仍然需要父元素。为此,可能不会将my input元素附加到dom yetthanks。你可能是对的,我将把这个标记为正确答案。对于record input.parentNode,假设输入文本有一个父项,而在我想在示例中添加div时,该父项可能不存在。。。这就是为什么我问这样一个问题:如果您的输入元素被附加到dom中,那么它有一个父元素。如果要添加后续元素,您仍然需要父元素。my input元素可能尚未附加到dom