更改 class 多个元素的名称 class
Change the classname of multiple elements of a class
我有多个 div,class名称为 "card player1card"。如果我要单击带有 class "player1card" 的任何元素,我希望它的 class 更改为 运行 下面列出的功能。
因此,如果我单击带有 class "card player1card recruitbuilder" 的第 5 个元素,第 5 个元素的 class 应更改为 "card player1card recruitmerchant" 或任何其他随机 class从数组中分配的名称。
它给我的当前错误是"Uncaught TypeError: Cannot set property 'className' of undefined"
注意:所有变量都已事先定义,因此不会遗漏任何变量。
var p1card = document.getElementsByClassName("player1card");
var w;
var allocatedcard;
for (w = 0; w < p1card.length; w++) {
p1card[w].onclick = function (){
p1card[w].className = "card player1card";
var allocatedcard = Math.floor(Math.random() * cardsnames.length);
p1card[w].className += " " + cardsnames[allocatedcard];
updateimages();
}
}
在您的点击处理程序中使用 this.className
而不是 p1card[w].className
。
我有多个 div,class名称为 "card player1card"。如果我要单击带有 class "player1card" 的任何元素,我希望它的 class 更改为 运行 下面列出的功能。
因此,如果我单击带有 class "card player1card recruitbuilder" 的第 5 个元素,第 5 个元素的 class 应更改为 "card player1card recruitmerchant" 或任何其他随机 class从数组中分配的名称。
它给我的当前错误是"Uncaught TypeError: Cannot set property 'className' of undefined"
注意:所有变量都已事先定义,因此不会遗漏任何变量。
var p1card = document.getElementsByClassName("player1card");
var w;
var allocatedcard;
for (w = 0; w < p1card.length; w++) {
p1card[w].onclick = function (){
p1card[w].className = "card player1card";
var allocatedcard = Math.floor(Math.random() * cardsnames.length);
p1card[w].className += " " + cardsnames[allocatedcard];
updateimages();
}
}
在您的点击处理程序中使用 this.className
而不是 p1card[w].className
。