使用jQuery $ .get()解析html时遇到问题

时间:2012-12-22 06:48:20

标签: jquery

  

可能重复:
  Parsing and selecting from HTML string

所以,我有以下jQuery get函数:

$.get('newwindow.html', function(data){
  h = data;
})

我的目标是用h做点什么。基本上它返回了一堆html,但我想要一个特定的div。我试过了:

$(h).find('#div_name')

我也尝试将回调内部改为:

h = $('#div_name', data);

h = $('#div_name', $(data));

无济于事,到目前为止我成功的最佳解决方案是在我的回调中加入以下内容:

$(data).each(function(k,v){
  if ( $(v).attr('id') === 'div_name') h = $(v).text();
});

这看起来非常低效。还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

要解析来自您的ajax调用的html,请使用jQuery .filter()

使用示例:

$(function () {
    $.get('newwindow.html', function (data) {
        var h = data;
        console.log($(h).filter('#div_name').html());
        //alert($(h).filter('#div_name').html()); //Use this alert if using IE
    });
});

有关jQuery .filter()的更多信息,请访问:http://api.jquery.com/filter/