代码之家  ›  专栏  ›  技术社区  ›  meo

用jquery解析部分html字符串

  •  2
  • meo  · 技术社区  · 14 年前

    $.ajax() 从我的服务器获取一些HTML页面。 retrun包含完整的HTML结果。但我只对这个文档中的一个非常具体的div感兴趣。

    唯一给定的是,我的ajax success函数返回一个JSON对象。我已经制作了一个PHP代理文件,用于其他东西,它返回一个JSON对象,其中包含标题、加载的文件的一些信息及其内容。所以基本上我有一个包含整个页面HTML的字符串。

    实际上我是这样做的: $($(data.content)[21]) 但这是jquery的一个糟糕的例子(因为我使用了两次$selector,HTML可以通过改变,而我感兴趣的div可以改变jquery数组中的位置)。我只想得到那个div <div id="items">...</div>

    这个案子的最佳做法是什么?你的方法是什么样的?

    PS:如果我的例子不清楚,你可以在这里看到一个例子: http://meodai.ch/content_slider/

    3 回复  |  直到 14 年前
        1
  •  4
  •   Darin Dimitrov    14 年前
    success: function(result) {
        var div = $(result).filter('#items');
    }
    
        2
  •  2
  •   user113716    14 年前

    试试这个:

    var $items = $(data.content).find('#items')
    

    或者如果 #items <body> ,则改为执行以下操作:

    var $items = $(data.content).filter('#items')
    
        3
  •  1
  •   Chris Laplante    14 年前

    解析JSON响应并从中提取HTML后,将其包装到jQuery对象中:

    var $j = $(htmlGoesHere);
    

    var itemsHTML = $j.find("#items").html();