none
Jquery seletor RRS feed

  • Pergunta

  • Estou com problemas em entender o .parent, .parents e o .closest. Li algumas explicações na net, mas ainda está confuso.

    estou com problemas por exemplo:

    <td>
    <img class='imagem' src='imagem.jpg'>
    </td>
    <span>
    <input type='checkbox' class='check'>
    </span>

    Estou no checkbox por jquery, e preciso pegar o 'src' da imagem.

    Tentei dar prev().prev().prev(). (do chekbox à img), mas nao deu certo.

    Tentei .closest('img').attr('src'), também não deu certo.

    quinta-feira, 20 de dezembro de 2012 15:56

Todas as Respostas

  • Sua estrutura é inválida pois o span precisa estar dentro de um td ou você precisa fechar a <table>.

    Mas enfim, você pode fazer algo assim:

    $("input[type=checkbox]").parent().parent().find("td img")


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    quinta-feira, 20 de dezembro de 2012 16:07
  • Esse é um trecho da minha estrutura. Ela é bem maior. Coloquei a parte que precisava iterar.

    Estava tentando evitar esse parent.parent.parent.

    quinta-feira, 20 de dezembro de 2012 16:09
  • Amigo,

    Coloca na sua <img /> uma class e utilize ela para localizar o elemento, ex:

    <img class="minha-img" src="bla.gif" />

    No JQuery:

    <script>
    $('img.minha-img').oque_vc_precisa();
    </script>

    Espero ter ajudado e boa sorte!


    Não esqueça de marcar como útil uma resposta que te ajude.
    "A diversão é a alma do negócio"

    sexta-feira, 21 de dezembro de 2012 11:55
  • Olá Thiago. Antes de pegar a imagem, voce precisa consertar seu código. A formatação correta deve ser como esta:

    <td class="minhaClasse">
      <img class='imagem' src='imagem.jpg'>
      <span>
         <input type='checkbox' class='check'>
      </span>
    </td>

    Depois que voce arrumou seu código, voce pode pegar o atributo "src" da imagem mais fácil ainda se voce colocar um seletor em sua célula:

    <script>
      var endereco = $('td.minhaClasse img').attr('src');
      alert(enderco);
    </script>

    Caso voce queira usar o parent para procurar a imagem mais proxima voce pode usar 

    $('td.minhaClasse input:checkbox').parent().parent().find('img'), o que para é na verdade redundate, uma vez que ele vai navegar até a celua e procurar a imagem dentro dela, que tem o mesmo efeito prático de $('td.minhaClasse img').attr('src');

    Abraços.


    Washington Luíz | MCP, MCTS
    O Senhor é minha força e somente Nele confio.

    sexta-feira, 21 de dezembro de 2012 14:57