如何解析.get的结果,以便我只在锚标签中有链接?

时间:2013-12-05 23:39:56

标签: javascript jquery

如何只返回一个包含给定链接中所有链接的数组?

$.get( "http://ocw.mit.edu/courses/biological-engineering/20-010j-introduction-to-bioengineering-be-010j-spring-2006/lecture-notes/", function( data ) {
  alert( "Data Loaded: " + data );
});

2 个答案:

答案 0 :(得分:0)

你可以使用正则表达式。说从这个开始

data.match(/<a.+?href=('|")([^\1]+?)\1/mg).map(function(m) { console.log(m) });

答案 1 :(得分:0)

正确,您无法对外部网址进行直接 ajax调用。但是,可以使用YQL和jQuery执行此操作,如下所示:

HTML -

<ul id="list">
</ul>

JS -

var url = encodeURIComponent("select * from html where url='http://ocw.mit.edu/courses/biological-engineering/20-010j-introduction-to-bioengineering-be-010j-spring-2006/lecture-notes' and xpath='//a/@href'");

var yql = "http://query.yahooapis.com/v1/public/yql?q=" + url + "&format=json";

$.getJSON(yql,
          function(data) {
              $.each(data.query.results.a, function(i, item) {
                  $('#list').append('<li>'+item.href+'</li>');
              });       
          }
);

小提琴 - http://jsfiddle.net/55QV9/