Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcelo2605

[Resolvido] Jquery não é aplicado em todas as DIVs

Recommended Posts

Criei o seguinte código para expandir DIVs criadas dinamicamente (php, mysql) na página:

 

$(document).ready(function() {
  $("#hide").hide();
  $("#btn_showHide").html("mais");   
  $('#btn_showHide').toggle(
     function () {$('#hide').show('slow'); $('#btn_showHide').html("menos");},
     function () {$('#hide').hide('fast'); $('#btn_showHide').html("mais");}
  );
});

 

O problema é que o código só é aplicado na primeira. As outras permanecem abertas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não deve duplicar IDs pelo documento.

 

se você está num loop, trabalhe com classes.

além disso, leia sobre o objeto this:

 

http://wbruno.com.br/blog/2011/06/21/afinal-e-javascript/

Compartilhar este post


Link para o post
Compartilhar em outros sites

William, deu certo.

 

O problema agora é que, ao clicar no btn de uma div para expandí-la, todas as divs se expandem.

 

Não sei onde incorporo o this no código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

leia o artigo, lá eu explico exatamente oque fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, vou tentar. Obrigado.

 

William, deu certo:

 

$(document).ready(function() {

  $(".hide").hide();
  $(".btn_showHide").html("mais");

  $('.btn_showHide').toggle(
     function () {
	  var $this = $( this );
	  $this.prev ('.hide').show('slow'); 
	  $this.html("menos");},

  function () {
	  var $this = $( this );
	  $this.prev('.hide').hide('fast'); 
	  $this.html("mais");}
  );
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.