jquery:onclick更改背景颜色

时间:2011-02-24 10:59:30

标签: javascript jquery css

我遵循UL - LI html。

<UL>
<LI><span id='select1'>Text</span></LI>
<LI><span id='select2'>Text</span></LI>
<LI><span id='select3'>Text</span></LI>
<LI><span id='select4'>Text</span></LI>
<LI><span id='select5'>Text</span></LI>
<LI><span id='select6'>Text</span></LI>
</UL>

如果我点击特定<span>,则应更改其背景颜色。即如果我点击具有id='select3'的跨度,则应更改其背景颜色。

如何使用jQuery完成此操作?

4 个答案:

答案 0 :(得分:6)

试试这个:

$('li span[id^="select"]').click(function(){
   $(this).css('background-color',"#ccc")
})

它的作用是,点击ID为“select”的spanli会改变背景颜色。

答案 1 :(得分:1)

您可以使用以下

jQuery("#select1").click(function(){jQuery(this).css({'background-color':'red})});

希望它有所帮助。

更新我的答案,将处理程序放在每个选择上。您可以在span元素中添加一些attr来表示颜色。例如<span rel="red">Text</span>。 然后你可以编写像

这样的处理程序
jQuery("ul span[id^='select']").click(function(){jQuery(this).css({'background-color':jQuery(this).attr('rel')})});

答案 2 :(得分:0)

尝试

$("span").click(function(){
  if($(this).attr('id') == "select3") $(this).css('background-color', 'red');
});

答案 3 :(得分:0)

如果您有许多列表元素,您可能希望使用事件委派,只管理ul上的点击。所以你可以做到

$('ul').click(function(event) {
    switch($(event.target).attr('id')) {
        case select1:
            $(event.target).css('background-color', 'red');
            break;
        //More case statements
    }
});