使用Jquery,将显示块更改为none不能再次进入块

在这里,我的HTML。

这是jquery

 $('#clickable div img').hide(); $('div.clickable').css('display','none'); $( ".color_area div" ).on( "click", function() { var color = $( this ).attr( "data-color" ); $( "div.clickable" ).each( function() { var forColor = $( this ).attr( "id" ); if( forColor == color ) { if( $( this ).css('display') == 'block'){ $( this ).hide(); } $( this ).addClass( "selected" ); $( this ).css('display','block'); }else { $( this ).removeClass( "selected" ); } }); }); $( "div.clickable" ).on( "click", function() { if( $( this ).hasClass( "selected" ) ) { var color = $( this ).attr( "class" ); $( this ).find('img').show(); $( "." + color + " img" ).each( function() { $( this ).remove(); }); } }); }); 

click_red类总是在div#clickable #clickable前面,这就是为什么我必须显示none或block。 我只能选择一次颜色,因为它们都改为display:block ,然后click_red类停留在click_blue和click_green之前,我再也不能点击了。 我想点击颜色来做addClass( "selected" )$( this ).css('display','block'); 再次。 有人有什么想法吗?

编辑:好的,我有一张地图,它有18个区域图像,它们display:none人点击div#clickable ,人们需要先选择颜色,然后点击可点击区域来决定要显示哪种颜色的图像在地图上。 就像着色一样,我可以选择不同的颜色来点击不同的区域并显示正确的颜色图像。

这里的小提琴点击我

好吧,我仍然无法完全得到它。 我仍然创造了一个小提琴,解释了一些有用的东西。 您还需要什么,请在评论中更新。 使用.hide() and .show()代替.hide() and .show() disply:none / block