jQuery $ this有多个选择器

时间:2014-02-12 16:02:39

标签: javascript jquery

我试图在点击时突出显示多个链接。问题是只有一个被点击的链接被突出显示而不是所有三个链接。

以下是代码:

$('#vid_link0, #vidtop_link0, #vidmob_link0').click(function() {
  $('[id^=vid_link],[id^=vidtop_link],[id^=vidmob_link]').css('background-color','inherit');
  $(this).css('background-color','#A9CDEB');
});

当其中一个点击时,这应该突出显示#vid_link0,#vidtop_link0,#vidmob_link0。但只有被点击的那个突出显示。任何的想法?

2 个答案:

答案 0 :(得分:4)

var vid_all = $('#vid_link0, #vidtop_link0, #vidmob_link0'); //cache selector
vid_all.click(function () {
    $('[id^=vid_link],[id^=vidtop_link],[id^=vidmob_link]').css('background-color', 'inherit');
    vid_all.css('background-color', '#A9CDEB'); //change color of all elements
});

this引用当前单击的元素,以便更改该元素的背景颜色,

答案 1 :(得分:-3)

猜猜再也没有人关心可读性了?

var links = $('#vid_link0, #vidtop_link0, #vidmob_link0')

links.click(function() {
  links.css('background-color','#A9CDEB');
});

http://jsfiddle.net/ZLdMx/