2015-12-14 130 views
0

我有多個在javascript中生成的div,每個div在創建時都有唯一的id屬性。單擊另一個Div時,使用ID更改Div背景ID

當用戶點擊Div時,我想設置背景和前景色來表示它已被選中(我有這個工作)。當用戶點擊另一個Div時,我需要將第一個點擊回正常。

不知道該怎麼做。現在,當我點擊一個div它會改變,但是然後點擊另一個它們都顯示次要顏色。

當別人被點擊時,我不跟蹤原始div的id。這是我必須做的嗎?

我欣賞的幫助,

+0

檢查新類是否存在於當前用戶選定元素之外的另一元素上。如果是,則刪除該類並向當前選定的元素添加新類。 –

回答

2

上的click事件,您可以將CSS類設置爲當前點擊股利。這個CSS類將有你想要的背景顏色。

.selected 
{ 
    background-color:green; 
} 

設置在當前點擊項目的CSS類之前,獲取股利(或多個)與選定的類名,並從這些刪除類。

$(function(){ 

    $(document).on("click","div",function(e){ 

    //Get any div(s) with css class "selected" and remove the class 
    $("div.selected").removeClass("selected"); 

    //Set the css class to the clicked div 
    $(this).addClass("selected"); 

    }); 


}) 

更換通用div與您的特定jQuery選擇

例如:

$(document).on("click","div.myDiv",function(e){ 

}); 

哪裏myDiv是您的div

Here是工作示例的CSS類。

+0

非常感謝。完善! –