2013-11-27 97 views
0

我有這個任務,我應該在HTML/javascript中製作一種打印機,並且我被困在節點/ DOM部分(很難!)。 所以我應該在addParagraph中創建一個段落節點和一個textnode,並將它們鏈接起來。我的全局變量'ntext'將跟蹤textnode,並且每個新的段落節點應該添加到具有'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。

當然,我忘了添加我的問題,好吧,這整個事情不會添加我點擊的字母,我不知道爲什麼!

謝謝!

+0

問題是什麼? – bjb568

+0

它不起作用,它不會添加我點擊的字母 –

+0

Make a [fiddle](http://jsfiddle.net) – bjb568

回答

0

您的狀態ntext == 'undefined'。您正在測試字符串'undefined'而不是undefined property。將其更改爲:

if (ntext == undefined) { 
+0

不幸的是,它沒有工作,但謝謝,當然沒有糾正錯誤! –

+0

對不起,我忘了給你添加@mechanicalfish –

+0

是的,你的代碼還有其他問題,我不完全確定你想做什麼,但看看這個:http://jsfiddle.net/ukhk3/1/這是你想要的嗎? – mechanicalfish