我如何在$ .get(url)的项目上使用jquery

时间:2010-03-24 16:53:38

标签: javascript jquery html

我想.get一个页面,然后使用jquery来查找链接等元素。如何让$('#blah')搜索获取数据而不是页面?

4 个答案:

答案 0 :(得分:2)

您应该能够从返回的HTML中创建一个dom元素,而无需将其实际添加到文档中,然后使用jQuery方法搜索它:

jQuery.get('/my_url/', function(html_data) {
  // If your html_data isn't already wrapped with an HTML object, you may
  // need to wrap it like so:
  //
  // var jQueryObject = $("<div>" + html_data + "</div>");
  var jQueryObject = $(html_data);
  jQueryObject.find("a.link_class");

  // Or, as stated by gregmac below, you could just do the following:
  $("a.link_class", html_data);

  // or, if wrapping is required:
  $("a.link_class", "<div>" + html_data + "<div>");
});

答案 1 :(得分:1)

要查找链接或特定元素(例如您的示例),您可以执行以下操作:

$.get('test.html', function(data) {
   var links = $('a', data); //Use the response as the context to search in
   var blah = $('#blah', data);
});

答案 2 :(得分:0)

我很确定你也只能从本地服务器/页面获取链接。

// create blank array
var links = new Array();

// where should we $.get
var url = '/menus';

$.get(url, function(data) {

    // get anchors from the url
    links = $(data).find('a');

    // loop through all of them
    for(i=0; i<links.length; i++)
    {
        // do something (may alert a lot of links... be prepared)
        alert($(links[i]).attr('href'));
    }
});

答案 3 :(得分:0)

你可以这样做:

$('#result').load('ajax/test.html #container');

只会显示#container的内容。