我有这个代码,我希望文本节点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 :(得分: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应用于你的元素(这是解决你的问题的另一种选择)。