jQuery每个函数都不适用样式

时间:2014-01-23 12:01:50

标签: javascript jquery html css

我有两个jQuery函数循环遍历几个元素,任何应用样式都是'em。我有select并希望隐藏特定父元素中的所有div。之后,所选元素应再次可见。

隐藏功能(unsung 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'});

3 个答案:

答案 0 :(得分:0)

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


// these two don't work
jQuery('#' + jQuery(this).val()).each(function() {
   $(this).css('display', 'block');
});
jQuery('#' + jQuery(this).val()).css('display', 'block');

试试这种方式

答案 1 :(得分:0)

尝试

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'});

答案 2 :(得分:0)

忘了它。在小提琴中它很有效。

它与DOM的其余部分有关,此代码嵌入在WordPress小部件中。我不认为我会解决这个问题,似乎WordPress完全打破了jQuery,其他一些jQuery插件也不起作用。