0

我正在使用 ajax 调用检索 html 响应,然后尝试使用以下内容检索响应中的嵌套元素$(response).filter()

这是我检索的页面,以及我要过滤的元素:

//ajax调用

$.ajax({
   type: "GET",
   url: "http://www.flipkart.com/search-books?query=jQuery+Cookbook&from=all&searchGroup=all"
}).done(fnSuccess(prod_dts)).fail(fnFail);

//fn成功

var fnSuccess = function(prod_dts) {
return function(response){
           //this returns results
            alert($(response).filter('div.fkart').html());

            // but this does not
            alert($(response).filter('#fk-mainbody-id').html());


  } // endof return
} // endof function

唯一的区别是,它div.fkart是body的直系子代,#fk-mainbody-id是孙代。

过滤器不应该一直向下钻取树吗?我猜这与我如何包装返回的响应有关?如何以这种方式访问​​任何嵌套元素?

4

1 回答 1

0

过滤器旨在用于将匹配元素的集合减少为匹配选择器或通过函数测试的元素。如果您想深入了解,请改用 find 。IE

var fnSuccess = function(prod_dts) {
  return function(response){
        alert($(response).find('div.fkart').html());
        alert($(response).find('#fk-mainbody-id').html());
  } // endof return
} // endof function
于 2012-12-20T06:42:56.677 回答