javascript返回对象htmlelement

时间:2014-11-11 16:41:11

标签: javascript dom

我正在研究计算器应用程序。我创建了以下函数来将当前函数推送到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只是一个从推送到数组的函数传递的字符串。

1 个答案:

答案 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);   
      }

  }

}