微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用JQuery的AJAX方法解析页面的特定部分?

我正在尝试使用 JQuery的AJAX方法解决如何解析页面的特定部分.我想做的是这样的:
$.ajax({
    url: "page-to-load.htm",dataType: "html",success: function (response) {
            var html= $(response);
            var content = html.find("#main");
            var title = html.find("title");
            var nav = html.find("ul.nav");
    }
});

我知道我可以使用[container] .load()加载特定的页面部分,但是这将(据我所知)为我想要加载的每个页面部分创建一个请求.

在我的示例代码中,html对象似乎是一个HTML元素数组,但find()返回的每个对象都是null.搜索到的元素确实存在于目标页面中.

我错过了一些明显的东西,或者这不是JQuery可以处理的东西吗?

解决方法

这很有效.使用.load和特殊的url语法将所需页面的一部分放入临时div中.无论你想要什么,都可以使用内部html.
$(function(){      
  var tempDiv = $("<div />");
  tempDiv.load('index.html #target-element',function(){    
    alert(tempDiv.html());
  });
});

这是一个没有url语法的示例,因此您可以使用整个页面.您可以按照您在问题中尝试的方式取出标题

$(function(){
  var tempDiv = $("<div />");
  tempDiv.load("page-to-load.htm",function() {
        var content = tempDiv.find("#main");
        var title = tempDiv.find("title");
        var nav = tempDiv.find("ul.nav");
  });
});

原文地址:https://www.jb51.cc/jquery/178132.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐