jquery ajax重新加载返回undefined的页面的一部分

时间:2018-06-13 18:55:34

标签: jquery

我正在尝试重新加载页面的一部分:

function LoadAssets() {
  console.log($('#AssetResults').html());
  $.ajax({
    url : 'Assets_Home.cfm',
    type : 'POST',
    success : function(data) {
      console.log($(data).find('#AssetResults').html());
      $("#AssetResults").html($(data).find('#AssetResults').html());
    }
  });
}

Assets_Home.cfm是当前页面。数据正确返回页面,$(数据)在控制台中如下所示:

w.fn.init(38) [text, comment, text, script, text, meta, text, link, text, script, text, script, text, script, text, script, text, link, text, link, text, link, text, link, text, title, text, style, text, div#NavigationBar, text, comment, text, div, text, div#AssetResults, text, script]

并且$(data).find('#AssetResults').html()未定义。

我没有选择它吗?

1 个答案:

答案 0 :(得分:1)

find()搜索元素的内容,但它本身并没有找到顶级元素。所以你需要将返回的值包装在另一个元素中。

var div = $("<div>", { html: data });
var assetResults = div.find("#assetResults").html();

您还可以使用.load()方法,该方法允许您在网址中添加选择器。

$("#AssetResults").load('Assets_Home.cfm #AssetResults');