我想对一个HTML返回页面进行AJAX调用,提取HTML的一部分(使用jQuery选择器),然后在我的基于jQuery的JavaScript中使用该部分。
AJAX retrieval很简单。这给我在回调函数的“data”参数中的整个HTML文档。
我不明白是如何以有用的方式处理这些数据。我想把它包装在一个新的jQuery对象,然后使用一个选择器(通过find()我相信)得到只是我想要的部分。一旦我有了,我会把它传递给另一个JavaScript对象插入到我的文档。 (这个代理是为什么我不使用jQuery.load()在第一位)。
我看到的get()示例似乎都是这样的变体:
$('.result').html(data);
…如果我正确理解它,将整个返回的文档插入到选定的元素。不仅是可疑的(这不插入< head>等?),但它太粗糙的我想要的。
对于其他方法的建议是最受欢迎的。
您可以使用标准选择器语法,并将数据作为选择器的上下文传递。第二个参数,在这种情况下的数据,是我们的上下文。
$.post("getstuff.PHP",function(data){ var mainDiv = $("#mainDiv",data); // finds <div id='mainDiv'>...</div> },"html");
这相当于做:
$(data).find("#mainDiv");
根据你如何计划使用这个,$ .load()可能是一个更好的路由,因为它允许一个URL和一个选择器过滤结果数据,这是直接传递到元素的方法被调用上:
$("#mylocaldiv").load("getstuff.PHP #mainDiv");
这将加载< div id ='mainDiv'> …< / div>在getstuff.PHP中加入我们的本地网页元素< div id ='mylocaldiv'> …< / div> ;.