我有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]
答案 0 :(得分:3)
文本区域不具有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所说的那样,即使HTML属性value
本身在文本区域中不存在,该setter也存在于javascript中,因此您可以使用{ {1}}(但这不会将属性添加到HTML,更令人惊讶的是,即使document.getElementById('textareaCode').value = 'test';
会为您提供正确的更新值,也不会更新DOM内容。)
关于其余问题,您可以直接操作innerHTML
将文本添加到现有文本中。但请注意,HTML标签将呈现为文本(innerHTML
变成<
等)。要么添加一个HTML对象,它就不会在文本区域中显示为文本,也不会被视为HTML:
<
var description = 'blablabla';
document.getElementById('textareaCode').innerHTML += '<p>' + description + '</p>';
var comment = document.getElementById('textareaCode').innerHTML;
alert (comment);
答案 1 :(得分:0)
您确定这没有按预期进行吗?首先,您提醒'abc'这是一个元素。因此,警报告诉您这是一个元素。之后,您将发出警报(注释),它应该是您要寻找的警报。
答案 2 :(得分:0)
var description ="hello world! love coding"; document.getElementById("textareaCode").value=description;
var comment = document.getElementById('textareaCode').value;
alert (comment)
<textarea id="textareaCode"></textarea/>