0

我是 jQuery 编程新手。我想解析一个外部 html 页面并将其显示在移动应用程序中。

function mealSearch() {


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

我得到了我想要的整个 html 页面,没有图片。

现在我只想获取特殊 div 中的部分?

当我在替换后添加 .find 时,出现错误:没有方法找到

谢谢你的帮助

4

2 回答 2

1

可能你正在这样做 -

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

您正在尝试.find()在字符串 var 而不是 jQuery 对象上使用该错误 bcoz )

你需要这样做——

html = $(html.replace(/<img[^>]*>/g,"")).find("div.someclass");
于 2013-05-29T15:41:51.723 回答
0

html.replace() 是一个字符串,而不是一个 jquery 对象。我猜(因为您没有发布代码,find并且您声明您.find在替换后添加)您正在这样做:

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

如果是这种情况,只需将 find 移到外面:

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

此外,确实不需要将 dom 修改为字符串...您也无需担心从您不关心的内容中删除标签...这会更好:

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

http://jsfiddle.net/S8zxQ/

于 2013-05-29T15:41:42.693 回答