2016-12-26 14 views
0

クラス名が「card player1card」の複数のdivがあります。クラス "player1card"を持つ要素をクリックすると、そのクラスが変更され、以下に示す関数が実行されます。クラスの複数の要素のクラス名を変更する

"card player1card recruitbuilder"クラスの5番目の要素をクリックすると、5番目の要素のクラスが "card player1card recruitmerchant"または配列から割り当てられた他の任意のクラス名に変更されます。

それは私を与えることを、現在のエラーは「キャッチされない例外TypeError:未定義のプロパティが 『className』に設定することはできません」である:すべての変数は前に定義されているので、ノーミス変数か何か

NOTEを。

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

関連する問題