【问题标题】:jQuery grab htmljQuery抓取html
【发布时间】:2010-06-15 08:56:09
【问题描述】:

我们有link到某个页面(带有html代码,在同一个域上),那个页面有一个imgtitlealt的属性是相等的。

脚本必须打开link(页面上不显示),抓取img其中title=altsrc属性,并将value扔到一些variable中。

可以吗?

谢谢。

【问题讨论】:

  • 页面是在同一个域还是不同域?如果它在不同的域上,那么你就不走运了。
  • 同理,比如从site.com/workssite.com/item

标签: jquery attributes extraction


【解决方案1】:

您可以使用$.get().filter().attr() 来实现,如下所示:

$.get('/works', function(data) {
  var src = $('img', data).filter(function() { return this.title == this.alt; })
                          .attr('src');
  dosomethingWithIt(src);
});

这是一个异步操作,因此该函数将在响应返回时执行并获取src,它不会在$.get() 之后的代码行中可用。您需要从该函数中继续任何需要该信息的操作,因此一旦数据返回并准备就绪,它就会继续工作。

【讨论】:

  • 你是明星 :) 将尝试在数小时内实施
【解决方案2】:

$.get(链接,函数(数据) { 变量 = $(data).find('img[title="same"][alt="same"]').attr('src'); });

【讨论】:

    【解决方案3】:

    使用 jQuery:在特定页面上

    $(document).ready(function(){    
        var link = $('img').attr('src');
        var title = $('img').attr('alt'); // or $('img').attr('title');    
    });
    

    【讨论】:

    • 这会抓取属性,但不会打开带有链接的页面。据我所知,OP 需要从另一个页面打开一个页面并在那里抓取一些东西。
    • @abatishchev 你说得对,我无法访问外部页面
    【解决方案4】:

    首先这将从外部 url 读取数据:

    $.get('../item/test.html', function(data) {
        alert(data);
    });
    

    它对你有用吗?它会显示你的网址吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-30
      • 1970-01-01
      • 1970-01-01
      • 2010-12-20
      • 2016-04-13
      • 2014-11-23
      • 2011-12-21
      相关资源
      最近更新 更多