2013-06-21 77 views
0

我想用JavaScript切換一個類。 從這個如何切換到引用類名稱

class=product neutral //background color is grey 

這個

class=product correct //background color is green 

if (trueProduct == 12){ 
     document.getElementById("userAnswer").innerHTML = "class='product correct'";  
     } 

HTML

<span id="userAnswer" class="product neutral"></span> 

回答

0

試試這個,

如果你想改變你可以使用這個類名,

document.getElementById("userAnswer").className = "product correct"; 

如果你只是想在添加其他類,你可以用這個,

document.getElementById("userAnswer").className += " correct"; 

閱讀.className這裏

+0

+ =增加一個(啊......我沒有想到連接這種方式)這很酷!謝謝,badZoke – ryanjohnsond

+1

對於連接,你不應該忘記空白。或者你最終會選擇一個「中立正確」的課程。 – Bergi

+0

這樣的空白嗎? + =「」+「correct」(像那樣?) – ryanjohnsond

0

你不想改變…>之間的innerHTML(空字符串和</span>你的情況),但className property

document.getElementById("userAnswer").className = "product correct"; 

或者,你可以使用setAttribute

document.getElementById("userAnswer").setAttribute("class", "product correct"); 
+0

謝謝Bergi。這非常有幫助! – ryanjohnsond

0

element.innerHTML是元素的實際內容,你正在尋找的是:

if (trueProduct == 12) { 
    document.getElementById("userAnswer").className = "product correct";  
} 
1

使用classList API,這是最方便的位置。

var answer = document.getElementById("userAnswer"); 
answer.classList.remove("neutral"); 
answer.classList.add("correct"); 

classList讓你切換添加刪除一類特殊而無需更改任何其他。

+1

+1,但不要忘記提及它僅在最近的瀏覽器中受支持。 – Bergi

+0

「它只支持在最近的IE瀏覽器」FTFY :-)雖然好,但我不認爲IE9不會讚賞它。對於其他瀏覽器,我只關心當前的穩定版本,因爲他們有自動更新(如IE最終應該是有用的)。 – Kos

+0

如何在代碼中使用classlist來實現切換類? – ryanjohnsond