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

前端之家收集整理的这篇文章主要介绍了如何使用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");
  });
});

猜你在找的jQuery相关文章