2015-09-12 356 views
-2

當我單擊具有特定類的單元格時,我希望其他具有相同類的單元格分配給它以更改爲某種顏色,當我單擊其他單元格時,我希望它具有相同的效果,但將以前的單元格更改爲其默認樣式。從我搜索互聯網時可以收集的信息來看,我需要使用Javascript,但是我的Javascript知識嚴重缺乏。基於類更改單元格顏色

回答

0

從閱讀你的問題,我認爲你可能有不同的細胞需要改變不同的類。

我認爲像這樣的東西可能會工作 - 所有被點擊的元素都是包含在ID爲「clickable-cells」的包裝中的div。應該一起玩的分部應該都有相同的分類。另外,這是使用jQuery。

$('#clickable-cells').children('div').click(function(){ 
    $('#clickable-cells').children('div').removeClass('inactive'); // Remove inactive class from all groups and elements 
    targetClass = $(this).attr('class'); // Get the group class 
    $('#clickable-cells div[class="'+targetClass+'"]').not(this).addClass('inactive'); // Make elements in this group inactive (use this class to change color) 

}); 

使用注意事項的[class="'+targetClass+'"]代替情況下,使用選擇器.可點擊元素有多個類。

+0

只是litte更多的信息,我使用一個表,幾乎每個單元格中都有文本。所以當我點擊說第一個時,我想要其他列中的單元格,但不一定在同一行中,以突出顯示。所以,爲了確保,我應該在文本或表格元素周圍添加div,然後在整個表格中添加主div? – happyblue

+0

只要給表格添加一個「clickable-cells」,然後將目標從「div」改爲「td」,所有工作都應該有效。 – Bryan

0

使用jQuery,你可以在接下來的方式實現這一點:

$('.cell').on('click', function(e){ 
    $(.selected).removeClass('selected'); // remove class from previously clicked cell 
    $(this).addClass('selected'); 
}) 

哪裏.selected是對單擊的單元格或格或你想要的任何元素的特定樣式類。 .cell是每個單元格的普通類