乌徒帮技术范儿WEB开发jQuery › jQuery ajax无法获取返回的html数据节点用在append中

jQuery ajax无法获取返回的html数据节点用在append中

分类:jQuery

在我的一些开发中发现,使用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本身又被对象化了,这样就可以获取它内部的元素。

已有2条评论 快速评论
  1. 否子戈 #4371楼 回复给@4370楼 2014/09/17 16:33:51 回复

    确实可能存在这个问题,我这里也只是提供一种解决方案

  2. 陈东海 #4370楼 2014/09/16 18:25:33 回复

    这个问题应该不会出现把,wordpress ajax那么强大,这点很早就应该想到了

填写个人信息,赶快回复吧!