2010-05-07 11 views
5

jQuery vous pouvez faire:Utilisez jQuery sur une variable à la place sur le DOM?

$("a[href$='.img']").each(function(index) { 
    alert($(this).attr('href')); 
} 

Je veux écrire une fonction jQuery qui rampe niveaux de X à partir d'un site Web et rassemble toutes les HREF aux images GIF.

Alors, quand j'utilise la fonction du obtenir pour récupérer une autre page,

$.get(href, function(data) { 

}); 

Je veux être en mesure de faire quelque chose comme

data.$("a[href$='.img']").each(function(index) { 
}); 

Est-ce possible?

... MISE À JOUR ...

Merci aux réponses, j'ai pu résoudre ce problème.

function FetchPage(href) { 
    $.ajax({ 
     url: href, 
     async: false, 
     cache: false, 
     success: function(html){ 
      $("#__tmp__").append("<page><name>" + href + "</name><content>" + html + "</content></page>"); 
     } 
    }); 
} 

Voir this zip fil e pour un exemple comment l'utiliser.

Répondre

4

vous pouvez mettre des données recived dans le DOM, puis exécutez

$("a[href$='.img']").each(function(index) { 
    alert($(this).attr('href')); 
} 

quelque chose comme ça

$.get(href, function(data) { 
    $("#somelement").hide(); 
    $("#somelement").html(data); 
    $("#somelement").find("a[href$='.img']").each(function(index) { 
    alert($(this).attr('href')); 
    } 
    $("#somelement").show(); 
} 
1

Je pense qu'il vaut mieux faire la ramper sur le côté client (par exemple PHP) à la place et renvoie l'image hrefs à javascript/jquery.

Oh, et data $ ("a [href $ = '. Img']") n'est pas possible. jQuery() fonctionne en recherchant dans le DOM existant.