更改选择时更改CSS

时间:2015-06-19 00:06:10

标签: jquery select onchange

目前正在运作。但我想知道的是,为什么这不会影响.filteritem中每个.container的CSS。它只找到页面上的第一个,而我想更改.filteritem中的所有内容$(document).ready(function () { $('#select').on('change', function () { if (this.value == 'alltopics') { $('.filteritem').fadeIn(500); } else { var elems = $('.filteritem[data-aa_eventtopic="' + this.value + '"]'); $('.filteritem').not(elems).closest('.filteritem').fadeOut(500); elems.closest('.filteritem').fadeIn(500); //HERE $('.filteritem').each(function () { setTimeout(function () { $('.container').filter(':visible').first().css({ borderTop: 'none', paddingTop: '0px'}); }, 501); }); } }); });

$selector->fields = array('Id', 'KeywordText', 'KeywordMatchType', 'AdGroupId', 'Status', 'CpcBid');

2 个答案:

答案 0 :(得分:0)

我猜你只需摆脱那个.first()电话

答案 1 :(得分:0)

注意.first()......

$('.filteritem').each(function() {
  setTimeout( function(){$('.container').filter(':visible').first().css({borderTop : 'none', paddingTop : '0px'});},501);        
});

你告诉它只针对第一个.container,更是如此,甚至不是当前.filteritem中的容器。也许你打算这样做:

$('.filteritem').each(function() {
   setTimeout( function(){$(this).find('.container').filter(':visible').css({borderTop : 'none', paddingTop : '0px'});},501);        
});

**更新**

因为你只想要容器的第一个CHILD:

$('.filteritem').each(function() {
   setTimeout( function(){$(this).find('.container').filter(':visible').children(':first').css({borderTop : 'none', paddingTop : '0px'});},501);        
});