2013-05-29 24 views
0

我是一個編程jQuery的新手。我想解析一個外部html頁面並在移動應用程序中顯示它。將html解析爲icenium中的div

function mealSearch() { 


$.get('http://www.web-page.de/page.html', function(html){ 
    html = $(html.replace(/<img[^>]*>/g,"")); 
    console.log((html)); 
}); 

我得到了我想要的整個html頁面,沒有圖片。

現在我想只得到在特殊格的部分?

當我之後的更換添加.find,我得到一個錯誤:沒有找到方法

感謝您的幫助

+0

只是好奇,爲什麼你不接受我的答案然後接受之後製作的並提供與我的信息相同的信息......但不提供您應該真正使用的替代方案?如果你不使用這種替代方法,那麼當你真的只關心你關心的特定'div'內的東西時,你正在解析整個dom的'img' ...另外,如果你有一個dom,你應該解析它作爲一個dom而不是一個字符串。 – smerny

回答

1

也許你正在做這一點 -

html = $(html.replace(/<img[^>]*>/g,"").find("div.someclass")); 

您獲得的錯誤bcoz你嘗試在字符串VAR使用.find(),而不是jQuery對象

您需要做到這一點 -

html = $(html.replace(/<img[^>]*>/g,"")).find("div.someclass"); 
+0

這幫了我!非常感謝! – krank42

0

html.replace()是一個字符串,而不是一個jQuery對象。我猜(因爲你沒有代碼與find發佈和你說,你加入.find更換後),您在做這個:

html = $(html.replace(/<img[^>]*>/g,"").find("#specialDiv")); 

,如果是這樣的話,只需移動外面找:

html = $(html.replace(/<img[^>]*>/g,"")).find("#specialDiv"); 

還,實在是沒有必要修改DOM作爲一個字符串...你也不需要擔心去除你不關心......這將是更好的內容標籤:

html = $(html).find("#specialDiv"); 
html.find("img").remove(); 

http://jsfiddle.net/S8zxQ/