用jquery解析部分html字符串
我使用$.ajax()
从我的服务器获取一些HTML页面。 retrun包含完整的HTML结果。 但我只对本文档中的一个非常具体的div感兴趣。
唯一给出的是我的ajax成功函数返回一个JSON对象。 我已经制作了一个PHP代理文件,我用于其他东西,它返回一个带有标题的JSON对象,一些信息到我正在加载的文件及其内容。 所以基本上我有一个包含整个页面HTML的字符串。
实际上我是这样的: $($(data.content)[21])
但这是jquery的可怕例子(因为我使用$ selector两次,而HTML可以通过改变和我感兴趣的div可以在jquery数组中改变位置)。 我想只得到div
...
及其内容,然后用jquery选择它。
这种情况的最佳做法是什么? 你的方法会是什么样的?
PS:如果我的例子不清楚,你可以在这里看到一个例子: http : //meodai.ch/content_slider/
success: function(result) { var div = $(result).filter('#items'); }
试试这个:
var $items = $(data.content).find('#items')
或者如果#items
位于的顶层,那么请执行以下操作:
var $items = $(data.content).filter('#items')
解析JSON响应并从中获取HTML后,将其包装在jQuery对象中:
var $j = $(htmlGoesHere);
然后,提取div的HTML:
var itemsHTML = $j.find("#items").html();