簡體   English   中英

無法以正確的方式附加孩子

[英]Not able to append child in correct way

我有textarea,我想附加一個段落標簽,然后才能獲取textarea的值。

我正在嘗試使用Javascript create元素完成此操作

var desc = document.createElement("p");
desc.innerHTML = description;
var abc = document.getElementById("textareaCode").appendChild(desc);
alert (abc);
 var comment = document.getElementById('textareaCode').value;
alert (comment);

這是錯誤消息

[對象HTMLParagraphElement]

Textarea沒有value屬性。 您可以使用innerHTML獲取標簽之間的內容:

 var desc = document.createElement("p"); desc.innerHTML = 'blablabla'; var abc = document.getElementById("textareaCode").appendChild(desc); var comment = document.getElementById('textareaCode').innerHTML; alert (comment); 
 <textarea id="textareaCode"></textarea> 

請注意,正如Victor Popescu所評論的那樣,即使本機不存在textarea的HTML屬性value ,setter也存在於javascript中,因此您可以使用document.getElementById('textareaCode').value = 'test';來動態更改內容document.getElementById('textareaCode').value = 'test'; (但這不會將屬性添加到HTML,更令人驚訝的是,即使innerHTML會為您提供正確的更新值,也不會更新DOM內容)。

關於其余問題,您可以直接操作innerHTML將文本添加到現有innerHTML中。 但請注意,HTML標簽將呈現為文本( <變為&lt;等)。 要么添加一個HTML對象,它就不會在文本區域中顯示為文本,也不會被視為HTML:

 var description = 'blablabla'; document.getElementById('textareaCode').innerHTML += '<p>' + description + '</p>'; var comment = document.getElementById('textareaCode').innerHTML; alert (comment); 
 <textarea id="textareaCode">existing text</textarea> 

您確定這沒有按預期進行嗎? 首先,您提醒'abc'這是一個元素。 因此,警報告訴您這是一個元素。 之后,您將發出警報(注釋),這應該是您要尋找的警報。

 var description ="hello world! love coding"; document.getElementById("textareaCode").value=description; var comment = document.getElementById('textareaCode').value; alert (comment) 
 <textarea id="textareaCode"></textarea/> 
您不能將html元素附加到textarea,而可以使用value做到這一點!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM