现在我正在尝试弄清楚如何将CREATED文本附加到CREATED p元素,具体取决于用户输入到输入文本字段的内容。 如果我在createTextElement方法之后设置文本,当我单击按钮时它会显示正常。但我想要的是:用户在输入字段中输入文本,然后在单击按钮时,文本被添加到div标签的末尾,其ID为" mydiv"。任何帮助表示赞赏。
HTML:
<body>
<div id="mydiv">
<p>Hi There</p>
<p>How are you?</p>
<p>
<input type="text" id="myresponse">
<br>
<input type="button" id="showresponse" value="Show Response">
</p>
<hr>
</div>
</body>
JAVASCRIPT:
var $ = function(id) {
return document.getElementById(id)
}
var feelings = function()
{
$("myresponse").focus();
var mypara = document.createElement("p");
var myparent = $("mydiv");
myparent.appendChild(mypara);
var myText = document.createTextNode($("myresponse").value);
mypara.setAttribute("id", "displayedresponse");
mypara.appendChild(myText);
$("displayedresponse").appendChild(myText);
}
window.onload = function() {
$("showresponse").onclick = feelings;
}
答案 0 :(得分:2)
createTextNode
function 由于您将在每次点击时引用 mydiv ,我认为将mydiv变量移动到父范围将更适合您
var $ = function (id) {
return document.getElementById(id)
}
let mydiv = $('mydiv');
$("showresponse").addEventListener('click', feelings);
function feelings() {
let textInput = $('myresponse').value;
var mypara = document.createElement("p");
var myText = document.createTextNode(textInput);
mypara.setAttribute("id", "displayedresponse");
mypara.appendChild(myText);
mydiv.appendChild(mypara);
$("displayedresponse").appendChild(myText);
}