2016-12-16 74 views
0

你好我想通過鼠標懸停在上面得到類名。所有我現在得到懸停是類名:[objectHTMLCollection]。 我使用這個代碼在HTML:的onmouseover = 「類(這)」Javascript類名不會出現

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

這是因爲'getElementsByClassName'選擇*集合*,而不是*元素*。 –

+1

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

+0

@ Quasimodo'sclone:公平地說,上面的代碼的一半處理正確。 :-) –

回答

1

我使用這個代碼在HTML:的onmouseover = 「類(這)」

在這種情況下,你應該爲你的函數聲明一個參數並使用它。元素的當前設置類名(S)是可以從它的className屬性:

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

另外請注意,我改變了函數的名稱。 class是JavaScript中的關鍵字,不能將其用作標識符。 (您需要accodingly更新onmouseover。)

0

不要使用任何的reserved keywords在代碼名稱函數,變量等

你得到[objectHTMLCollection]toString()方法的結果是被隱式調用時您正在嘗試通過執行"Class name" + x + " ";x(這是對象)轉換爲字符串。改爲使用x[0].className

+0

問題中代碼中的'x.className'將被定義爲'undefined.' –

+0

確實,我錯過了他正在獲取一個集合。 –