首页 > 解决方案 > 在 createTextNode() 中使用变量而不是字符串

问题描述

我正在尝试通过 Javascript 向 ul 添加另一个 li。我希望 li 根据现有变量具有动态内容。我可以让它使用字符串附加一个 li 没问题。只有当我使用变量时才会出错

//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);

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

var textnode = document.createTextNode("New Player");

标签: javascriptdynamichtml-listsappendchildcreatetextnode

解决方案


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

var playerName = playerInput.value;

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

因此,通过将新变量在函数外部声明的位置移动,它似乎已经解决了这个问题


推荐阅读