我有这个ajax电话
var content = $.ajax({
url: "ajax.php",
async: false
}).responseText;
此回复是ajax.php网站的简单html。
我想在此回复content
上使用选择器
例如:
$( "li" ).each(function( index ) {
alert( $( this ).text() );
});
答案 0 :(得分:3)
您可以使用jQuery来解析HTML,然后查询它(所有这些都不会将其添加到文档中):
var elements = $(content);
elements.find("li").each(/*...*/);
旁注:
如果“另一个网站”是指另一个网站,而不是您提供的 (您在下面的评论中说,您的意思是您网站上的另一个页面,因此不适用。) ajax.php
示例,请注意该呼叫可能会被Same Origin Policy阻止。也就是说,除非另一个站点通过CORS授予您的请求页面访问权限(并且您使用的浏览器为supports CORS properly,而不是IE8或IE9,它们支持但非标准且未在jQuery中启用,或IE7或更早版本根本没有它。
附注2:如果您使用的是jQuery的$.ajax
,通常不希望直接转到responseText
。代替:
var content;
$.ajax({
url: "ajax.php",
async: false,
success: function(data) {
content = data;
}
});
旁注#3:async: false
几乎普遍是一个坏主意(tm),它会在更长时间之前从jQuery中删除。拥抱异步性。