【发布时间】:2015-06-16 16:36:25
【问题描述】:
我有一个无序列表,我想在选择该项目时更改每个项目的背景颜色(列表中的项目是链接标签)这是我目前拥有的 JQuery 代码。
$(".cat").click(function(){
if ($('.cat').is(":selected")) {
$(this).css("background-color", "#1796cf");
} else {
$(this).css("background-color", "#333333");
}
});
HTML代码如下:
<ul class="categories">
<li class="cat"><a href="#">K-12</a></li>
<li class="cat"><a href="#">Higher Education</a></li>
<li class="cat"><a href="#">Healthcare</a></li>
<li class="cat"><a href="#">Corporate</a></li>
<li class="cat"><a href="#">Recreation</a></li>
<li class="cat"><a href="#">Community</a></li>
<li class="cat" style="border:none"><a href="#">Faith Based</a></li>
</ul>
.cat 是我的无序列表中每个项目的一个类。问题是它总是在运行我的 else 语句。当链接是当时选择的链接时,我应该使用什么选择器来引用?我尝试使用 focuson() 而不是 click() 但对于页面上的其他元素,这将无法按我想要的方式工作。
【问题讨论】:
-
":selected 选择器适用于
-
@Sushil 这与我想要的很接近,但是单击新链接时它不会将颜色改回原始颜色
-
@K8K 试试这个然后jsfiddle.net/rmx5ykhs/1
标签: jquery css html-lists