从 HTML 中抓取文本并使用它和串联来访问对象属性

grab text from html and use it and concatenation to access object property

提问人:coyls3 提问时间:10/3/2023 更新时间:10/3/2023 访问量:28

问:

我不知道这是否可行,而且我对 JavaScript 和编程很陌生,但这是我正在尝试做的事情:

我有一个 HTML 表格:

<table>
    <tr>
      <td id="w1t1">kc</td>
      <td id="w1s1">30</td>
    </tr>
</table>

我在JS中有一个对象:const kc = {name: kc, color: "red", score: 0};

我想像这样抓住文本:let team1 = document.getElementById("w1t1").textContent;

这应将 Team1 的值设置为“KC”。 然后我想与“.score”连接以访问 kc.score,如下所示:

function test(){
    let t1 = team1 + ".score";
    console.log(t1);
}

我希望 t1 的值为 0,这是 kc.score 的值,但它的值是“kc.score”。

有什么办法可以让它工作吗?

JavaScript HTML 对象 串联

评论

1赞 Polina Shestakova 10/3/2023
从哪里来?它是在上面的代码中声明的,还是以某种方式从 api 中来的?const kc
1赞 Heiko Theißen 10/3/2023
如果您的对象是另一个对象的成员,例如 ,则可以将其作为 访问。const objects = {}; objects.kc = {..., score: 0};objects[team1].score

答:

1赞 Azeez 10/3/2023 #1

据我所知,您想要 team1 的分数,所以这是您如何做到这一点

// First store name of the team in a variable like you are doing
const team1 = document.getElementById("w1t1").textContent;
// now in team1 var we have value of kc

// modify your object a bit
const  team = { kc: {name: kc, color: "red", score: 0} };

console.log(team[team1].score)

让我知道这是否有效!

评论

0赞 coyls3 10/3/2023
天哪,非常感谢你,它就像一个魅力。你真棒!!
0赞 Azeez 10/4/2023
你也很棒,继续努力,伙计。