2016-12-16 19 views
0

こんにちは私はそれにマウスを置くことによってクラス名を取得したい。私がホバリングしたのはです。クラス名:[objectHTMLCollection]です。 私は、HTMLでこのコードを使用しています:onmouseover属性= "クラスを(この)"JavaScriptのクラス名が表示されません

function class() { 
var x = document.getElementsByClassName("abc"); 
x[0].innerHTML = "Class name" + x + " "; 
} 
+0

これは、 'getElementsByClassName'が* element *ではなく* collection *を選択するためです。 –

+1

http://stackoverflow.com/help/how-to-ask –

+0

@ Quasimodo'sclone:公正であるように、上のコードの半分が正しく処理されます。 :-) –

答えて

1

私はHTMLでこのコードを使用しています:onmouseover属性= "クラス(この)"

をその場合は、関数にパラメータを宣言して使用する必要があります。クラス名(複数可)の要素の現在のセットは、そのclassNameプロパティから提供されています:

function showClass(element) { 
    element.innerHTML = "Class name " + element.className; 
} 

はまた、私は関数の名前を変更したことに注意してください。 classはJavaScriptのキーワードですが、それを識別子として使用することはできません。 (あなたがaccodinglyあなたonmouseoverを更新する必要があります。)

0

名前の関数にコード内reserved keywordsのいずれかを使用しないでください、変数等

あなたは暗黙的に呼び出されるtoString()メソッドの結果として[objectHTMLCollection]を取得"Class name" + x + " ";を実行して、x(オブジェクト)を文字列にキャストしようとしています。代わりにx[0].classNameを使用してください。

+0

質問のコードの 'x.className'は' undefined 'になります。 –

+0

実際、私は彼がコレクションを取得していることを忘れていました。 –

関連する問題