2016-12-26 94 views
0

我有多个div类,名称为“card player1card”。如果我点击任何带有“player1card”类的元素,我希望它的类可以更改,并且可以运行下面列出的函数。更改一个类的多个元素的类名称

因此,如果我点击第5个元素的类“card player1card recruitbuilder”,第5个元素的类应该更改为“card player1card recruitmerchant”或从该数组中分配的任何其他随机类名。

的当前错误,它给我的是“遗漏的类型错误:无法设置属性未定义‘类名’”

注:所有变量都已经被事先定义的,因此不会丢失变量或任何东西。

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(); 
    } 
} 

回答

1

使用this.className,而不是p1card[w].className在点击处理程序。

+0

是“this.classname”javascript?或者它是JQuery? – evilgenious448

+0

这是香草的Javascript –

+0

它用于两者。 – ab29007

相关问题