Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera meu código html ta da seguite forma:
<div class='ddbiaddc' style='width: 400px; display: none;'>
<div style='position: absolute; left: 5px;'class='alignddbiimg'>
<img src='$us_foto' style='width: 45px; height: 45px'>
</div>
<div style='position: relative; left: 50px' class='alignddbinome'>
<a href='#'>$us_nc</a> <font style='color: #9C99C7;'>diz:</font>
</div>
<div style='position: relative; left: 50px' class='alignddbitxt'>
<textarea id='com$cat_id' name='com$cat_id' onfocus='init(this.id)' rows='1' class='comentarios' type='text' placeholder='Comente...'></textarea>
<form>
<input class='addcoment' type='submit' value='Comentar'><input class='cancelcoment'type='submit' value='Cancelar'>
</form>
</div>
</div>
quando eu clico no <input class='addcoment'>, se eu quizer pegar o src da img da <div class='alignddbiimg'> eu to colocando o seguinte código jQuery no $(".addcoment").click:
$(this).parent().parent().prev().prev().children().attr('src');
alguém sabe um jeito mais fácil de pegar o src da imagem sem mudar o código html?
deu certo velho muuito obrigado!!
eu tinha tentado com o find, mas num tava dando certo pq eu tava colocando .parent() e agora to vendo q é parents() rs..
valeu
agora só uma pergunta.. parent() pega os elementos ancestrais diretos e parents() os elementos ancestrais diretos e não diretos?
agora que testei direito vi que o parents() retorna todos os elementos da página. Este não está me servindo, pois eu tenho esses códigos espalhados na pagina inteira... e quando uso o find(), ele retorna todas as classes q declaro, intão meche na pagina inteira..
Especifique "qual pai" você quer:
$(this).parents('.ddbiaddc').find('.alignddbiimg').find('img').attr('src');
Willian, obrigado pela sugestão..
mas o meu problema é que eu tenho essa mesma classe pra inúmeros elementos na página..
vou mostrar como eu resolvi o problema:
no form eu coloquei mais um input: <input type='hidden' name='cat_id' value='0'>, daí coloquei um id='0' na div 'pai' <div class='ddbiaddc' name='0'>
No código jquery fiz o seguinte:
$(".addcoment").live('click', function() {
id = $(this).siblings("input[name='idcat']").attr('value'); //pego o id
raiz = $(".ddbiadc[name=id]"); //vejo qual o elemento pai através do id
img_src = raiz.find('.alignddbiimg img').attr('src'); //aki pego src da imagem
nome = raiz.find('.alignddbinome a').text(); //aki pego o nome da pessoa
texto = raiz.find('textarea').attr('value'); //aki pego oq ta escrito no textarea
//aki em baixo, coloco em uma outra parte da página
//dps faço um ajax pra gravar no banco de dados
)};
$(this).parents().find('.alignddbiimg img').attr('src')
Acho que vai ajudar.