Estou tentando esconder todos os divs de uma class para além do primeiro quando o primeiro elemento é selecionado em uma lista de seleção. Eu pensei que a linha 4 iria replace a linha 3, mas não parece estar funcionando dessa maneira.
function myFunction() { if (jQuery('#select').val() == '1') { jQuery('.mydiv').addClass('hide'); jQuery('.mydiv(1)').removeClass('hide'); } }
UPDATE – os vários div.mydiv podem já ter a class hide, então o código precisa ter certeza de que apenas a 1ª instância tem a class. Os outros divs precisam ter a class removida, se tiverem.
Adicione a todos, filtre primeiro e remova a turma.
function myFunction() { if (jQuery('#select').val() == '1') { jQuery('.mydiv').addClass('hide').first().removeClass("hide"); } }
Você pode usar o seletor :not()
$(".mydiv:not(:nth-child(1))").addClass('hide');
Apenas exclua a n-ésima criança
jQuery( '.mydiv' ).not( ':eq(1)' ).addClass( 'hide' );