我正在研究计算器应用程序。我创建了以下函数来将当前函数推送到div以显示自己。
function addtoScreen(vTag){
var screen = document.getElementById("screen");
if(currentFunction.length == 1){
var newCalc = document.createElement("p");
newCalc.setAttribute("class", "calc");
var opInt = "<span>"+vTag+"</span>";
newCalc.innerHTML = opInt;
screen.innerHTML = newCalc;
}else{
var opInt = "<span>"+vTag+"</span>";
newCalc = document.getElementById("screen").lastElementChild;
newCalc.innerHTML = opInt;
}
}
if部分不断返回[object HTMLParagraphElement]我做错了什么?我曾尝试使用.value,但只返回null,因为该对象是一个没有value属性的整个元素。
编辑:我没有提到vTag只是一个从推送到数组的函数传递的字符串。
答案 0 :(得分:2)
这样的事情怎么样(我注释掉你的旧代码):
function addtoScreen(vTag){
var screen = document.getElementById("screen");
if(currentFunction.length == 1){
var newCalc = document.createElement("p");
//newCalc.setAttribute("class", "calc");
newCalc.className = "calc";
//var opInt = "<span>"+vTag+"</span>";
var opInt = document.createElement("span");
opInt.innerHTML = vTag;
//newCalc.innerHTML = opInt;
newCalc.appendChild(opInt);
//screen.innerHTML = newCalc;
screen.appendChild(newCalc);
}else{
//var opInt = "<span>"+vTag+"</span>";
var opInt = document.createElement("span");
opInt.innerHTML = vTag;
newCalc = screen.lastChild;
//newCalc.innerHTML = opInt;
if(newCalc)
{
newCalc.appendChild(opInt);
}
else
{
screen.appendChild(opInt);
}
}
}