在变量上使用 jQuery 而不是在 DOM 上?

发布于 2024-08-31 14:56:16 字数 967 浏览 5 评论 0原文

在 jQuery 中,你可以这样做:

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

我想编写一个 jQuery 函数,它从网站爬取 x 级别并收集 gif 图像的所有 href。

因此,当我使用 get 函数检索另一个页面时,

$.get(href, function(data) {

});

我希望能够执行类似

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

这样的操作吗?

...更新...

感谢您的回答,我能够解决这个问题。

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

请参阅此压缩文件e 举例说明如何使用它。

In jQuery you can do :

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

I want to write a jQuery function which crawls x-levels from a website and collects all hrefs to gif images.

So when I use the the get function to retrieve another page,

$.get(href, function(data) {

});

I want to be able to do something like

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

Is this possible ?

...UPDATE...

Thanks to the answers, I was able to fix this problem.

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

See this zip file for an example how to use it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

向地狱狂奔 2024-09-07 14:56:17

你可以将接收到的数据放入 DOM 中,然后运行

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

类似这样的代码

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

you could put recived data into the DOM and then run

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

something like this

$.get(href, function(data) {
  $("#somelement").hide();
  $("#somelement").html(data);
  $("#somelement").find("a[href$='.img']").each(function(index) {
    alert($(this).attr('href'));
  }
  $("#somelement").show();
}
淡淡的优雅 2024-09-07 14:56:17

我认为最好在客户端(即 PHP)上进行爬行并将图像 href 返回到 javascript/jquery。

哦,data.$("a[href$='.img']") 是不可能的。 jQuery() 的工作原理是搜索当前存在的 DOM。

I think it's better do the crawling on the client-side (i.e. PHP) instead and return the image hrefs back to javascript/jquery.

Oh, and data.$("a[href$='.img']") is not possible. jQuery() works by searching through the currently existing DOM.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文