所以我试图在HTML列表的onMouseOver描述中输入文本区域。我决定尝试.createElement(' TEXTAREA')但它返回[object HTMLTextAreaElement]。 (另外,如果你能告诉我一个更简单的方法来放置HTML标签而不使用会膨胀XD的文本区域) 这是代码:
} else if (a === 'var') {
var textarea = document.createElement("TEXTAREA");
var t = document.createTextNode("<code>, <var>, <samp> and <kgb>");
textarea.appendChild(t);
desc = "When defining some computer code in HTML there is four options, " + textarea;
} else {
desc = 'This item needs a description.';
}
document.getElementById('desc').innerHTML=desc;
}
哦,顺便说一句,我对这些东西不熟悉,所以对我来说很容易。
答案 0 :(得分:0)
textarea
实际上是HTMLTextAreaElement类的一个实例,而不是字符串。您将不得不使用DOM操作附加它:
document.getElementById('desc').innerHTML = '';
document.getElementById('desc').appendChild(document.createTextNode(desc));
document.getElementById('desc').appendChild(textarea);
答案 1 :(得分:0)
试试这个:
<script>
function myFunction() {
var x = document.createElement("TEXTAREA");
var t = document.createTextNode("you will learn.");
x.appendChild(t);
document.body.appendChild(x);
}
</script>
首先创建文本区域,然后将文本附加到文本区域。
答案 2 :(得分:0)
createElement
返回一个节点对象,然后你可以将它附加到另一个元素,在这种情况下是鼠标悬停时的描述框:
var desc = document.getElementById('desc');
var textarea = document.createElement('textarea');
var message = document.createTextNode('When defining some computer code in HTML there is four options: <code>, <var>, <samp> and <kgb>');
function showTextarea() {
desc.textContent = '';
desc.appendChild(textarea);
textarea.appendChild(message);
desc.removeEventListener('mouseover', showTextarea);
}
desc.addEventListener('mouseover', showTextarea);
JSFiddle示例: