2016-10-15 33 views
-2

我有此代码,我希望文本节点t有换行符(开始换行)。但断行不添加:(如何在文本节点中创建换行符

请帮助...

// Create a new list item when clicking on the "Add" button 
function newElement() { 
    var li = document.createElement("li"); 
    var inputText = document.getElementById("myInput").value + document.createElement("br") + "ddd" ; 
    var t = document.createTextNode(inputText); // this text node is supposed to have a linebreak 
    li.appendChild(t); 
    li.value = document.getElementById("myValue").value; 
    if (inputText === '') { 
     alert("You must write something!"); 
    } else { 
     updateLI(li); 
     document.getElementById("myUL").appendChild(li); 
    } 
    document.getElementById("myInput").value = ""; 
    document.getElementById("myValue").value = ""; 
} 
+0

请查看我的编辑。我澄清了措辞,但我不能100%确定这是你的意思。请同时添加html以使问题重现。 – YakovL

+0

我希望Text Node t有一个换行符,第一行将是“myinput”,下一行将是“ddd” –

回答

0

的主要问题在这里是一个文本节点不能包含任何其他元素和你要一个br元素添加到。它,你需要的是:

function newElement() { 
    var li = document.createElement("li"); 
    var inputText = document.getElementById("myInput").value; 
    li.appendChild(document.createTextNode(inputText)); 
    li.appendChild(document.createElement("br")); 
    li.appendChild(document.createTextNode("ddd")); 

    ... 

请记住,加入\n字符文本节点也不会有帮助,因为HTML“转换”的所有空白单空间的象征 - 那就是,除非你使用white-space: pre; CSS应用于你的ele (这是解决你的问题的另一种选择)。

+0

谢谢!!!!!! –

相关问题