我有两个jQuery函数,可以循环使用几个适用于'em的元素。我有一个select,并希望将所有div隐藏在特定的父元素中。之后,所选元素应再次可见。

隐藏功能(无歌曲each())起作用。但是用于显示它们的第二个没有。我尝试了两种方法,一种使用each(),第二种使用css()。两者都不起作用。当我在两个each()函数中记录元素时,它们将返回完全相同的元素。

这里缺少什么?为什么样式不适用?

function selectTab(sender) {
    jQuery(sender).parent().find('.tab').each(function() {
        this.style.display = 'none';
    });

    // these two don't work
    jQuery('#' + jQuery(sender).val()).each(function() {
        this.style.display = 'block';
    });
    jQuery('#' + jQuery(sender).val()).css({display: 'block'});

最佳答案

尝试

jQuery(this).parent().find('.tab').each(function() {
    jQuery(this).css('display','none');
});

// these two don't work
    jQuery('#' + jQuery(this).val()).each(function() {

  jQuery(this).css('display','block');
});
jQuery('#' + jQuery(this).val()).css({display: 'block'});


要么

$(this).parent().find('.tab').each(function() {
    $(this).css('display','none');
});

// these two don't work
    $('#' + $(this).val()).each(function() {

  $(this).css('display','block');
});
$('#' + $(this).val()).css({display: 'block'});

08-25 13:48