jQuery .load()获取内容而不附加

时间:2014-03-22 11:51:45

标签: jquery html ajax css3

我想知道如何在没有追加某个选择器

的情况下使函数.load()

例如,我希望将变量作为数组从另一个文件中获取,这要归功于下面的脚本。 但我必须将它附加在#selector上以检索我想要的信息。 有没有办法在不创建这个选择器的情况下获取这些信息。 当然我可以"显示:无;"这个选择器。但我希望有干净的代码。

任何想法都会受到赞赏:))

$("#selector").load('content/file.php', function (result) {
    var hrefs = new Array();
    $("ul li").each(function () {
        hrefs.push($(this).find('a').attr('href'));
    });
});

2 个答案:

答案 0 :(得分:2)

您可以使用$.get()从所述资源中获取内容,然后找到ul li元素,例如

$.get('content/file.php', function (result) {
    var hrefs = $(result).find("ul li").map(function () {
        return $(this).find('a').attr('href');
    }).get();
}, 'html');

无需使用.find()查找锚元素,将其添加到ul li选择器

$.get('content/file.php', function (result) {
    var hrefs = $(result).find("ul li a").map(function () {
        return $(this).attr('href');
    }).get();
}, 'html');

答案 1 :(得分:1)

尝试ajax调用

var response;
$.ajax({ type: "GET",   
     url: 'content/file.php',
     async: false,
     success : function(text)
     {
          var hrefs = $(text).find("ul li").map(function () {
    return $(this).find('a').attr('href');
}).get();
     }
});