2010-05-07 29 views
5

Trong jQuery bạn có thể làm:Sử dụng jQuery trên biến thay vì DOM?

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

Tôi muốn viết một hàm jQuery mà bóc tách x-cấp độ từ một trang web và thu thập tất cả hrefs hình ảnh gif.

Vì vậy, khi tôi sử dụng các chức năng được để lấy một trang khác,

$.get(href, function(data) { 

}); 

Tôi muốn để có thể làm điều gì đó như

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

Đây có phải là có thể?

... CẬP NHẬT ...

Nhờ có câu trả lời, tôi đã có thể khắc phục vấn đề này.

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

Xem this zip fil e để biết ví dụ về cách sử dụng.

Trả lời

4

bạn có thể đưa dữ liệu recived vào DOM và sau đó chạy

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

một cái gì đó như thế này

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

Tôi nghĩ rằng nó tốt hơn làm bò trên client-side (ví dụ PHP) để thay thế và trả về hình ảnh href trở lại javascript/jquery.

Ồ và dữ liệu. $ ("A [href $ = '. Img']") là không thể. jQuery() hoạt động bằng cách tìm kiếm thông qua DOM hiện có.

Các vấn đề liên quan