[英]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.