您要使用的not
filter,而不是:not
selector:
$('li').click(function() {
$(this).css('background-color', '#c7f1f2');
$('li').not(this).css('background-color', '');
});
演示:http://jsfiddle.net/ambiguous/ZUk88/
當你說li:not($(this))
然後你在嘗試選擇不是<$(this)>
元素的所有<li>
元素,這是沒有意義的;同樣爲li:not(this)
。
你也可以從所有的列表項中刪除背景顏色,然後把它添加到你想要的:
$('li').click(function() {
$('li').css('background-color', '');
$(this).css('background-color', '#c7f1f2');
});
演示:http://jsfiddle.net/ambiguous/L6ZNz/
而且,你對一下,但你的代碼的問題舉行會談談論懸停。
如果您已經連接到您的<li>
元素的顏色,你想,當有人點擊另一個<li>
恢復這些顏色,那麼你應該只添加和刪除一個CSS類來改變顏色。 CSS的一點:
.hilight {
background-color: #c7f1f2 !important;
}
和一些jQuery的:
$('li').click(function() {
$(this).siblings('.hilight').removeClass('hilight');
$(this).addClass('hilight');
});
演示:http://jsfiddle.net/ambiguous/ZJpNa/
您使用 '懸停' 在這裏的功能。你應該使用點擊 –
@Jayantha如果他想讓它在懸停時發生,則不需要。 –
是的,但他說,'當用戶點擊一行', –