代码之家  ›  专栏  ›  技术社区  ›  Stef Heyenrath Dariusz Woźniak

在变量上使用jquery而不是在dom上?

  •  5
  • Stef Heyenrath Dariusz Woźniak  · 技术社区  · 14 年前

    在jquery中,您可以执行以下操作:

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

    我想写一个jquery函数,它从一个网站爬行X层,收集所有的href到gif图像。

    所以当我使用 得到 函数来检索另一页,

    $.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>");
            }
        });
    }
    

    this zip fil 例如,如何使用它。

    2 回复  |  直到 14 年前
        1
  •  4
  •   Maksim Burnin    14 年前

    您可以将接收到的数据放入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();
    }
    
        2
  •  1
  •   Shiki    14 年前

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

    噢,和data。$是不可能的。jquery()通过搜索当前存在的DOM来工作。