2015-05-20 69 views
0

我正在使用ajax函數來調用一個php文件,該文件檢索網頁的源代碼以進行搜索。當接收到回調時,它將所有的html加載到一個div容器(div_showresults)中,然後我可以搜索關鍵元素並獲取我需要的值。然而,不是將數據加載到div容器中,而是想將變量設置爲該內容,然後以相同的方式而不是$(「#div_showresults」)搜索變量,但不確定如何。jquery從字符串中獲取元素值

$.ajax({ 
     url: 'htmlpage-jsonarray.php', 
     dataType: 'json', 
     type: 'post', 
     data: params, 
     success: function(data) { 
      if(data.success) { 

       $("#div_showresults").html(data.result); 

       abc = $('#div_showresults span[class=availGreen]').text(); 
       alert(abc); 


       console.log(data.result); 
      } 
     } 
    }); 
+1

你嘗試過一些簡單的東西,比如'var foo = $(data.result);'...? – CBroe

+0

如果我理解它是正確的,那麼您首先要檢查'availGreen',然後將data.result存儲到'#div_showresults'中? – Dhiraj

+0

@Dhiraji,嗨,不,我只是想將html代碼直接存儲到變量中,然後能夠搜索該變量的幾個不同的元素值爲availGree只是其中之一。我不需要將HTML加載到DIV容器中,這是我知道如何搜索的唯一方法。 – darkromz

回答

0

您可以隨時創建一個div,臨時存儲結果,以便您可以搜索其中的元素。像這樣

$data = $('<div/>').html(data.result);

使用$data.find('')你可以搜索裏面的元素。

這裏是如何的方法或許應該像

success: function(data) { 
    if (data.success) { 
    $data = $('<div/>').html(data.result); 
    // $data.find('span.availGreen') 
    } 
} 

這裏是一個演示http://jsbin.com/nudune/1/edit?html,js,output 在演示中,阿賈克斯獲取從另一個HTML文件中尋找與特定區間的內容。

+0

謝謝,在我給出的示例中搜索時還有一件事,我將如何在您的示例中使用以下內容。 $(「#div_showresults tbody td [id = cell] [data-sku = 123] [data-field = price]」)。text() – darkromz

+0

'$ data.find(「tbody td [id = cell] [data- sku = 123] [data-field = price]「)。text()'this should do。任何你想從抓取的HTML中搜索的東西都應該使用'$ data.find(....)' – Dhiraj

+0

謝謝:) :)非常感謝 – darkromz