[英]Can I call appendChild on any HTML element?
有人知道我是否可以在任何HTML元素上调用appendChild吗?
具体来说,我需要在输入type ='text'上执行此操作,这似乎可行吗? 但这是正确的吗?
下面是我的代码片段:
var txt = document.createElement('input');
txt.type = 'text';
...
var div = document.createElement('div');
...
txt.appendChild(div);
有人知道我是否可以在任何HTML元素上调用appendChild吗?
您可以。 它是元素节点的标准功能。 但是,这可能并不总是很有意义。
具体来说,我需要在输入type ='text'上执行此操作,这似乎可行吗? 但这是正确的吗?
<input>
元素定义为空。 它们仍然具有标准的DOM方法,但不允许其具有子节点。 您正在尝试将DOM置于无效状态,并且(据我所知)您执行操作时所发生的行为是不确定的。 您不应该这样做。
内容模型:空。
将元素放在input
是无效的。
如果要设置输入的value
,请使用value
属性:
input.value = 'someText';
如果要在输入之前添加元素,请使用insertBefore :
input.parentNode.insertBefore(div, input);
要在输入后插入div,您可以
input.parentNode.insertBefore(div, input.nextSibling);
不可以,您不能将子项附加到输入元素。 它是一个独立的元素。 但是,您可以将输入元素附加到div元素。
不可以,您不能将子项附加到输入中,这是因为标准声明此元素的内容模型为Empty。
它仅具有可以由“。”访问的属性。 语法像
input.propertie
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.