2013-05-15 29 views
0

我試圖用$ .get函數獲取html頁面。這個頁面的內容包含在我的「數據」對象中。我想要做的是解析我的數據並更改他所有的img標籤的src屬性。 這段代碼幾乎可以工作。我有權訪問我的src,但最終沒有更新對象「數據」。如何更改匿名函數中所有圖像的src屬性

$.get("url/to/page.html", function(data){ 
    $("img", data).each(function() { 
     $(this).attr("src", newSrc); 
    }); 
}); 

因此,「數據」是page.html中的HTML內容,我想改變SRC的 「newSrc」是與源的新的URL一個變種。 如果我最終打印我的數據,我沒有新的src。

編輯: 這樣的解決方案是:

$.get(this.htmlasset.get('url_asset'), function(data) { 
    var $data = $(data); 
    $data.find('img').each(function(){ 
     $(this).attr("src", newSrc); 
    }); 
    $('#redactor').setCode($('<div></div>').append($data).html()); 

感謝的

+2

什麼是數據?什麼是newSrc? –

+0

你想在數據中得到什麼,我從來沒有在選擇器中看到數據對象,你正在試圖做什麼 –

+0

數據是page.html的內容。然後爲每個將獲得我的HTML內容(數據)的所有「img」。 而newSrc正好是我想要更新的新網址。 – brunettia

回答

1

您需要將HTML轉換爲DOM對象,然後才能對它們進行操作。

$.get("url/to/page.html", function(data){ 
    var $data = $(data).find('img').each(function() { 
     $(this).attr("src", newSrc); 
    }); 

    // $('body').append($data); or whatever you want to do with it 
}); 

注意,你應該再使用$data從那裏,因爲它包含了修改後的DOM元素。 data仍包含原始的HTML字符串。

+0

,我可以將DOM對象轉換爲Html嗎?因爲我正在使用一個採用html內容的插件(redactor)。我能夠改變我的屬性,但我不知道如何將我的DOM轉換爲Html。 – brunettia

+0

'$('

').append($ data).html();' – JJJ

+0

哦,我的上帝,非常感謝你! – brunettia

0

嘗試更換所有src使用jQuery的數據之內更換喜歡

data = data.replace(/oldstring/g, "newstring"); 
0

您必須使用更改數據。不是舊的。

$.get("url/to/page.html", function(data){ 
    var $elem = $('<div>').html(data); 
    $elem.find('img').attr("src", newSrc); 

    // now write the element in your page 
    $elem.appendTo('body'); 
});