Javascript jquery:onclick更改背景色
我有以下UL-LIHTMLJavascript jquery:onclick更改背景色,javascript,jquery,css,Javascript,Jquery,Css,我有以下UL-LIHTML <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'&g
<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>
- 文本
- 文本
- 文本
- 文本
- 文本
- 文本
如果我点击特定的
,它的背景颜色应该改变。i、 e.如果我点击span haveid='select3'
,它的背景色应该改变
如何使用jQuery实现这一点?您可以使用以下方法
jQuery("#select1").click(function(){jQuery(this).css({'background-color':'red})});
希望能有帮助
更新我的答案以在每个选择上放置处理程序。您可以向span元素添加一些属性来表示颜色。e、 g.文本
。
然后您可以编写如下的处理程序
jQuery("ul span[id^='select']").click(function(){jQuery(this).css({'background-color':jQuery(this).attr('rel')})});
试一试
如果您有许多列表元素,您可能希望使用事件委派,只管理单击
ul
。所以你可以
$('ul').click(function(event) {
switch($(event.target).attr('id')) {
case select1:
$(event.target).css('background-color', 'red');
break;
//More case statements
}
});
试试这个:
$('li span[id^="select"]').click(function(){
$(this).css('background-color',"#ccc")
})
它所做的是,在
li
中单击span
,让id以“select”开头,更改背景颜色。将单击处理程序附加到更改背景颜色的范围。你到底需要知道什么?您尝试过什么?可能有一种方法可以将if语句组合到选择器中,但我不太喜欢jquery。css方法中不仅没有select元素,而且:should。这只会将click处理程序添加到第一个元素。将其转换为应用于多个元素应该很容易,但您应该提到它。是的,$('li span[id^="select"]').click(function(){
$(this).css('background-color',"#ccc")
})