使用文本节点打印段落

Printing paragraphs with textnodes

本文关键字:打印 段落 节点 文本      更新时间:2023-12-05

我有一项任务,我应该用HTML/javascript制作一台打印机,但我被节点/DOM部分卡住了(这很难!)。所以我应该在addParagraph中创建一个段落节点和一个文本节点,并将它们链接起来。我的全局变量"ntext"将跟踪textnode,每个新的paragraphnode都应该添加到具有类"output"的DOM属性中。

在addLetter(c)函数中,如果ntext未定义,则应再次调用addParagraph()函数。如果它没有定义,它应该打印值(它没有)。

var ntext;
function addParagraph() {
  var textnode;
  var paragraphn;
  var div;
  paragraphn = document.createElement('p');
  textnode = document.createTextNode("");
  paragraphn.appendChild(textnode);
  ntext = textnode;
  div = document.getElementById("output");
  div.lastChild(paragraphn);
}

这是段落部分。

这是印刷部分。

function addLetter(c){
if (ntext == 'undefined') {
  addParagraph();
}
 ntext.firstChild.appendData(c);
}

哦,HTML5代码是100%正确的,因为是我的老师做的,我的任务是只做javascript。

当然,我忘了添加我的问题,好吧,这整件事不会添加我点击的字母,我不知道为什么!

谢谢!

您的条件ntext == 'undefined'。您正在针对字符串'undefined'而不是未定义的属性进行测试。更改为:

if (ntext == undefined) {