2017-02-23 54 views
-5

如何更改多個div的div背景顏色,但是一次。所以如果你點擊div 1,顏色會變成藍色,點擊div 2,div1顏色會回到默認值,div2會變成藍色? Facebook的聊天標籤如何與頂部標題一起工作Javascript更改div color,每次點擊一次

+1

你的意思是你要能夠「選擇」一個?只需爲'.selected'創建一個css類,並按照自己的想法創建樣式。然後''onclick' div,從* all * divs中刪除類,添加'selected'到被點擊的div。嘗試一下,如果你卡住了,然後回來,代碼 – musefan

+1

歡迎來到堆棧溢出!請參考[遊覽](http://stackoverflow.com/tour),環顧四周,並閱讀[幫助中心](http://stackoverflow.com/help),特別是_ [我如何問一個好問題?](http://stackoverflow.com/help/how-to-ask)_。也許你期望在這裏有免費的代碼寫作服務? – Cagy79

+0

我需要它是一個JavaScript函數,所以我可以讓它向數據庫提交一個「已見」 –

回答

-1

你可以這樣做。就像「主動」加個班到點擊的元素並從別人

var menu = document.querySelector("#menu"); 

for(var i = 0; i < menu.children.length; i++){ 
    menu.children[i].onclick = function (event){ 
    document.querySelector(".active").className = ""; 
    event.target.className = "active"; 
    } 
} 

https://jsfiddle.net/jc61tgns/

+0

非常感謝!多數民衆贊成在我想要的,不知道爲什麼有人投票你的答案是完美的。非常感謝 –

+0

有無論如何有這個工作,但是當所有的項目/ div沒有預設的活動類? –

+0

您可以更改行 ** document.querySelector(「。active」)。className =「」; ** ** var active = document.querySelector(「。active」); if(active)active.className =「」; ** 它會工作每次:) – Vashnak

-1

我將書於你做刪除它,如下:

  • 創建CSS類,如.active { background-color: blue; }

  • 使用JavaScript從divs中添加/刪除.active

例如,在純JavaScript:

const divs = document.querySelector('#root > div'); 

divs.on('click', function(e) { 
    // Toggle off all divs. 
    divs.forEach(d => d.classList.remove('active')); 

    // Toggle on clicked div. 
    e.target.classList.add('active'); 
}); 

文件:classtList

乾杯, 紀堯姆。

-2

你可以給一個iddiv標籤,並創建一個onclick事件像<div id="div1" onclick="changebg()"> 內changebg(),您可以編寫代碼來改變背景顏色