Javascript 使用jquery解析部分html字符串
我使用Javascript 使用jquery解析部分html字符串,javascript,jquery,Javascript,Jquery,我使用$.ajax()从服务器获取一些HTML页面。 retrun包含完整的HTML结果。但我只对本文档中的一个非常具体的div感兴趣 唯一给定的是,我的ajax success函数返回一个JSON对象。我制作了一个PHP代理文件,用于其他东西,它返回一个JSON对象,其中包含标题、加载文件的一些信息及其内容。所以基本上我有一个包含整个页面HTML的字符串 实际上我是这样做的:$($(data.content)[21]) 但这是jquery的一个糟糕的例子(因为我使用了$selector两次,H
$.ajax()
从服务器获取一些HTML页面。
retrun包含完整的HTML结果。但我只对本文档中的一个非常具体的div感兴趣
唯一给定的是,我的ajax success函数返回一个JSON对象。我制作了一个PHP代理文件,用于其他东西,它返回一个JSON对象,其中包含标题、加载文件的一些信息及其内容。所以基本上我有一个包含整个页面HTML的字符串
实际上我是这样做的:$($(data.content)[21])
但这是jquery的一个糟糕的例子(因为我使用了$selector两次,HTML可以通过改变而改变,而我感兴趣的div可以改变jquery数组中的位置)。我只想获取div…
及其内容,然后用jquery选择它
这种情况下的最佳做法是什么?你的方法是什么样的
PS:如果我的例子不清楚,你可以在这里看到一个例子:
试试这个:
var $items = $(data.content).find('#items')
或者,如果#项
位于
的顶层,则改为执行以下操作:
var $items = $(data.content).filter('#items')
var $j = $(htmlGoesHere);
然后,提取div的HTML:
var itemsHTML = $j.find("#items").html();
我先这么做了,但后来发现用jquery选择整个结果,然后才查找#项,这是一种资源浪费。首先从字符串中提取div,然后用jquery选择它是否较慢?就性能而言,最好是让您的php脚本直接返回所需的部分HTML。好主意,您是否可以对其进行regexp?或者是否有一些类可以在PHP中轻松浏览HTML文件的DOM?phpQuery?:PNo,没有regexp,只需将所需的HTML片段分离到另一个脚本中即可。很好,我在想,但你可以把它推得更快一点。很好,你成功了!
var itemsHTML = $j.find("#items").html();