Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery解析部分html字符串_Javascript_Jquery - Fatal编程技术网

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')

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

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();