1

当在选择列表中选择第一个元素时,我试图隐藏一个类的所有 div,而不是第一个。我认为第 4 行会覆盖第 3 行,但它似乎没有以这种方式工作。

function myFunction() {
  if (jQuery('#select').val() == '1') {
    jQuery('.mydiv').addClass('hide');
    jQuery('.mydiv(1)').removeClass('hide');
  }
}

更新 - 各种 div.mydiv 可能已经具有隐藏类,因此代码需要确保只有第一个实例具有该类。如果其他 div 有该类,则需要将其删除。

4

3 回答 3

4

您可以使用:not()选择器

$(".mydiv:not(:nth-child(1))").addClass('hide');
于 2013-01-03T16:50:41.937 回答
3

只排除第 n 个孩子

jQuery( '.mydiv' ).not( ':eq(1)' ).addClass( 'hide' );
于 2013-01-03T16:50:18.840 回答
1

将其添加到所有,过滤到第一个,然后删除该类。

function myFunction() {
  if (jQuery('#select').val() == '1') {
    jQuery('.mydiv').addClass('hide').first().removeClass("hide");
  }
}
于 2013-01-03T16:50:59.500 回答