在我的一些开发中发现,使用jQuery.ajax无法获取success:function(data)中$(data)的对象,虽然在一些$.ajax的案例代码中,我们使用官方提供的api代码方式进行抓取数据,希望通过$(data)对返回的数据对象化,然而,有的时候你会发现$(data).find('#test')将是无效的,这是我的亲身体验。
解决这个问题的办法有些显得在利用hook,但明显可以解决我们的问题。
$.ajax({
url:$href,
dataType:'html',
success:function(data){
var getHtml = $(data),
getCode = $('<code></code>').append(getHtml),
getList = $('#test',getCode).html(),
getNextPage = $('#next-page',getCode),
nextPageLink = $('a',getNextPage).attr('href');
....
}
});
关键在于上面代码中的绿色部分,通过一个$('<code></code>')把返回的结果放到一个html节点中,于是返回的html本身又被对象化了,这样就可以获取它内部的元素。
确实可能存在这个问题,我这里也只是提供一种解决方案
这个问题应该不会出现把,wordpress ajax那么强大,这点很早就应该想到了