在createTextNode()中使用变量而不是字符串

时间:2020-10-08 17:02:44

标签: javascript dynamic html-lists appendchild createtextnode

我正在尝试通过Javascript向ul添加另一个li。我希望li具有动态内容,具体取决于现有变量。我可以用一个字符串附加li,这没问题。只有当我使用变量时,事情才会出错

alert(zipCode)

问题在于:

//Adding to List
listOfPlayers.style.display = "block";
var node = document.createElement("LI");
var textnode = document.createTextNode(playerInput.value);
node.appendChild(textnode);
listOfPlayersNumerated.appendChild(node);

我尝试了文字字符串(如下所示),但没有问题

var textnode = document.createTextNode(playerInput.value);

2 个答案:

答案 0 :(得分:0)

所以我进行了更改,以便您可以查看变量的来源...

顶部:

var inputPlayer = document.getElementById("inputPlayer");

然后我只需添加.value即可在下面获得该输入的值:

//Adding to List
listOfPlayers.style.display = "block";
var playerName = playerInput.value;
console.log(playerName);
var node = document.createElement("LI");
var textnode = document.createTextNode(playerName);
node.appendChild(textnode);
listOfPlayersNumerated.appendChild(node);

它将记录在控制台中,但它不会出现在ul

答案 1 :(得分:0)

好的,我相信它不喜欢这个范围。尽管在控制台中打印出了变量。我搬了

var playerName = playerInput.value;

向上和退出当前功能。奇怪的是console.log()会接受它,但不接受该范围内的.createTextNode()

因此,通过将新变量在函数外部声明的位置移动,似乎可以解决问题