2014-11-15 56 views
-1

我有代碼切換div的顯示從無到塊,它工作正常,但後來我意識到需要它在多個div。所以,我編輯了代碼,而不是一個id,我從這個網站獲得了代碼的幫助,每個人都在說它是如何完美運行的,但它不適合我。在類不工作的切換顯示

下面的代碼:

function toggleDisplay(class) { 

    var display = document.getElementsByClassName(class); 

    for(var i = 0; i < display.length; ++i) { 

     var style = display[i].style; 
     style.display = style.display === 'none' ? 'block' : 'none'; 
    } 
} 

toggleDisplay('display'); 

這是我在這裏找到確切的代碼,每個人說的是工作,只有類名和這樣的改變。它不起作用。我做錯了什麼?

+0

你需要新的樣式設置爲元素。 – theonlygusti

+0

你有沒有稱爲顯示的課程?那就是你發送給這個函數的東西。 Class是js中的保留字,在func參數中將其稱爲toggleclass或其他內容,並且函數 – Billy

+0

我確實有一個名爲display的類。我已將類更改爲className,但仍無法正常工作。 –

回答

1

您的代碼是正確的,但您傳遞的是保留關鍵字class作爲參數。請改變它,它會工作

function toggleDisplay(className) { 
 

 
    var display = document.getElementsByClassName(className); 
 

 
    for(var i = 0; i < display.length; ++i) { 
 

 
    var style = display[i].style; 
 
    style.display = style.display === 'none' ? 'block' : 'none'; 
 
    } 
 
} 
 

 
toggleDisplay('display');
<p class="display">A paragraph</p>

+0

我已經這樣做了,但它似乎沒有什麼區別。 –

+0

檢查這個小提琴http://jsfiddle.net/f3b4f5k1/2/ ..你期待這個嗎? – Asik

+0

@KevinPearseTohill我啓用了一個片段,我發現它可以正常工作。 –