我用JQuery的ajax来获取一个整体html数据。我可以获取整个数据,但是获取某一html片返回时未定义。网上说要用正则表达式,因为数据是字符串。但是我写的类型是“html”类型,应该返回的就是“html”类型不应该是字符串。而且我觉得用正则表达式比较麻烦。
后来查资料用一对标签包装一下返回的数据就可以了。具体原因我也不知道为什么。(PS:如果你返回整段html代码既有<!DOCTYPE html>,也有<html></html>,那么jquery索引是第一<!DOCTYPE html>,所以为空。)
这段代码是我实现向上滑动滚动条翻页ajax部分代码。
$.ajax({
url: URL,
dataType: 'html',
success: function (data) {
var Obj = $("<code></code>").append($(data));//包装数据
var html = $("#showpages", Obj);
var nURL = $(data).find('#showpages').html(); // 获取新的地址
alert(html.html());//获取html片段
}
});