document.createElement()被忽略了

时间:2013-07-27 22:46:01

标签: javascript oop dom appendchild

我已经构建了一个简单的程序来学习Javascript中的OOP。它只输出预定义的字符串语句。这里的问题是程序将文本节点直接绑定到“输出div”,而忽略前一个命令将它们附加到相应的“p”元素。

Student.prototype.sayHello = function()
{
    var responseString = document.createTextNode("Hello, I've been waiting here for you. Student.");
    return document.createElement("p").appendChild(responseString);
}
Student.prototype.sayGoodBye = function()
{
    var responseString = document.createTextNode("tchau");
    return document.createElement("p").appendChild(responseString);
}

var student = new Student();
document.getElementById("output").appendChild(student.sayHello());
document.getElementById("output").appendChild(student.walk());
document.getElementById("output").appendChild(student.sayGoodBye());

1 个答案:

答案 0 :(得分:3)

您的问题是appendChild(child)会返回child,但您似乎希望返回添加的p元素。

尝试

var p = document.createElement("p");
p.appendChild(responseString);
return p;