用于更改动态生成的元素的类值的Javascript代码

用于更改动态生成的元素的类值的Javascript代码,javascript,Javascript,我无法使用以下代码获取页面元素来更新类名。pick变量包含我已验证的数据。当我尝试将两者结合起来时,它不会更新。但是,当我只键入纯文本时,类名就会更新。是否仍有基于动态值获取类名的方法?我甚至尝试将String函数与pick String(pick)一起使用-但这不起作用 下面是HTML。把它想象成一个大桌子(10 x 15个单元格),每个单元格代表一个幻想足球选秀中的一个选择。我想允许用户点击一个单元格,让它在该单元格中创建一个输入框,让用户输入球员姓名的两个字母,并让自动建议框提供匹配字符串

我无法使用以下代码获取页面元素来更新类名。pick变量包含我已验证的数据。当我尝试将两者结合起来时,它不会更新。但是,当我只键入纯文本时,类名就会更新。是否仍有基于动态值获取类名的方法?我甚至尝试将String函数与pick String(pick)一起使用-但这不起作用

下面是HTML。把它想象成一个大桌子(10 x 15个单元格),每个单元格代表一个幻想足球选秀中的一个选择。我想允许用户点击一个单元格,让它在该单元格中创建一个输入框,让用户输入球员姓名的两个字母,并让自动建议框提供匹配字符串的球员。一旦用户单击autosuggest选项,单元格将填充玩家的姓名,单元格的颜色将更改以表示玩家执行的位置。除了最后一部分,我什么都做了。这就是我试图更新单元格类的地方

(注意-我对原始代码做了一个错误,因为在设置类名时,它应该读myPos+“box”,而不是pick+“box”。)

我希望这能提供足够的信息。

document.getElementById(mytd.parentNode.className=pick+“box”

在底部添加代码,因为您可能试图访问尚未创建的dom


看起来,‘mytd’或‘pick’都不是变量,它们只是字符串,你在上面加了引号。如果它们是变量,请提供有关您的问题的更多信息。

您是在尝试将两个类应用于元素还是仅应用一个类?假设
pick
的值是
“foo”
。您希望您的元素是
还是
?如果您想要后者,只需添加一个空格。例如,
拾取+“框”
。否则,这就是一个谜

我一定很累了,但是在看了我发布的代码并对其进行了处理之后,我首先发现我没有定义变量“mytext”(虽然我曾经定义过)。在我得到这些之后,我开始做大量的document.write来找出填充了哪些变量。以下是最终代码:

function selectPlayer(playerID, pick)
             {
                var xhr;
                xhr = new XMLHttpRequest();         
                xhr.onreadystatechange  = function()
                    {
                      if (xhr.readyState==4 && xhr.status==200)
                         {

                                document.getElementById("box" + pick).innerHTML=xhr.responseText;
                                var mytext = xhr.responseText;
                                var myPos = String(mytext.substring(mytext.indexOf(';') + 1, mytext.length));
                                var mytd = "box" + pick;
                                document.getElementById(mytd).parentNode.className = myPos + "box";
                         }  
                    }
               xhr.open("GET","SelectPlayer.php?q="+playerID+"&pick="+pick,true);
               xhr.send();

假设
parentNode
生成一个有效元素,则代码看起来是正确的。你能在网上发布一个可复制的例子吗?这里没有足够的信息来回答。
    function selectPlayer(playerID, pick)
             {
                var xhr;
                xhr = new XMLHttpRequest();         
                xhr.onreadystatechange  = function()
                    {
                      if (xhr.readyState==4 && xhr.status==200)
                         {
                                var myPos = String(mytext.substring(mytext.indexOf(';') + 1, mytext.length));
                                document.getElementById("box" + pick).innerHTML=xhr.responseText;
                         }  
                    }
               xhr.open("GET","SelectPlayer.php?q="+playerID+"&pick="+pick,true);
               xhr.send();
               var mytd = "box" + pick;
               document.getElementById(mytd).parentNode.className = myPos + "box";
             }
function selectPlayer(playerID, pick)
             {
                var xhr;
                xhr = new XMLHttpRequest();         
                xhr.onreadystatechange  = function()
                    {
                      if (xhr.readyState==4 && xhr.status==200)
                         {

                                document.getElementById("box" + pick).innerHTML=xhr.responseText;
                                var mytext = xhr.responseText;
                                var myPos = String(mytext.substring(mytext.indexOf(';') + 1, mytext.length));
                                var mytd = "box" + pick;
                                document.getElementById(mytd).parentNode.className = myPos + "box";
                         }  
                    }
               xhr.open("GET","SelectPlayer.php?q="+playerID+"&pick="+pick,true);
               xhr.send();