2010-01-07 4 views
2

J'ai un h4 avec un img dedans comme ça. Je lie une fonction de clic au h4. Cela fonctionne bien. Mais je ne suis pas capable de sélectionner l'img dedans. Je veux sélectionner l'img afin de remplacer l'attribut src par .attr ("src"). Replace ("up", "down"); .jquery img select

<h4 class="collapsable_head"> 
<img id="up_down" class="icon" src="/crm/img/modifier_down.gif" alt="link"/> 
<b>Classification Filter:</b> 
</h4> 

Le javascript:

$(".collapsable_head").click(function(){ 
    $(this).next(".collapsable_body").slideToggle(500) 
    //None of the next lines return me the img object 
    src = jQuery(this).children('img').attr("src"); 
    print(src); 
    src = $(this).next("#up_down").attr("src"); 
    print(src); 
    src = $(this).next("#up_down").attr("src"); 
    print(src); 
    return false; 
}); 

Je veux utiliser le mot-clé "ce", depuis que je suis plus (".collapsable_head") est là ;-)

Répondre

7
var img = $("img", this); // Gets the image within 'this' 

Le deuxième paramètre est le contexte du sélecteur. En code complet, il ressemble à ceci:

$(".collapsable_head").click(function(){ 
    var img = $("img:first", this).attr("src"); 
    alert(img); 
}); 
+1

Merci beaucoup, ça marche bien! –

+0

Merci pour votre message. Pourriez-vous donner un lien sur $ ("img", this); construction s'il vous plaît? – Anthony

+0

@Anthony Sorry pour le retard à répondre. Veuillez consulter http://api.jquery.com/jQuery/#jQuery-selector-context pour plus d'informations. – Sampson

5

Avez-vous essayé:

jQuery(this).find('img').attr('src') 

devrait faire la même chose que la réponse de Jonathans.

0
$(function(){ 
     $("img").on('error', function() { 
      $(this).attr('src',"/Files/446/178/themeblue/images/nopic.jpg"); 
     }); 
});