有人知道我是否可以在任何 HTML 元素上调用 appendChild 吗?
具体来说,我需要在 input type='text' 上执行它,它似乎有效?但这是正确的吗?
下面是我的代码片段:
var txt = document.createElement('input');
txt.type = 'text';
...
var div = document.createElement('div');
...
txt.appendChild(div);
有人知道我是否可以在任何 HTML 元素上调用 appendChild 吗?
具体来说,我需要在 input type='text' 上执行它,它似乎有效?但这是正确的吗?
下面是我的代码片段:
var txt = document.createElement('input');
txt.type = 'text';
...
var div = document.createElement('div');
...
txt.appendChild(div);
有人知道我是否可以在任何 HTML 元素上调用 appendChild 吗?
你可以。它是元素节点的标准特征。不过,这可能并不总是有意义的。
具体来说,我需要在 input type='text' 上执行它,它似乎有效?但这是正确的吗?
<input>
元素被定义为空。它们仍然有标准的 DOM 方法,但不允许有子节点。您正试图将 DOM 置于无效状态,并且(据我所知)当您这样做时发生的行为是未定义的。你不应该这样做。
内容模型:空。
将元素放入input
.
如果要设置输入的值,请使用value
属性:
input.value = 'someText';
如果您想要在输入之前添加一个元素,请使用insertBefore:
input.parentNode.insertBefore(div, input);
要在输入后插入 div,您可以这样做
input.parentNode.insertBefore(div, input.nextSibling);
不,您不能将子元素附加到输入元素。它是一个独立的元素。但是,您可以将输入元素附加到 div 元素。
不,您不能将子元素附加到输入,这是因为标准规定该元素的内容模型为空。
它只有“。”可以访问的属性。语法如
input.propertie