使用字符串或DOM操作筛选AJAX响应
Filter AJAX response with String or DOM manipulation?
我得到的是AJAX响应,需要将其裁剪为只包含我想要的元素。据我所知,我有两个主要的选择。第一种选择是将响应作为字符串进行操作,使用substring
、split
和其他字符串方法,然后附加一个时间。另一种选择是附加到一个伪元素,然后使用jQuery方法从那里进行操作。
DOM操作非常昂贵,而且会减慢加载时间。字符串操作对代码来说是一种痛苦,感觉越来越"粗糙",而且可能变得几乎难以辨认。对我来说,两者都很糟糕。你建议我使用什么和/或你能建议一种不同的方法吗?
更新:
响应是来自RSS提要的字符串,我在服务器端什么都做不了。
使用第二个,但在得到所需内容之前不要触摸DOM。JQuery函数可以接受任意的HTML,并在其中构造DOM节点,之后您可以进行所有想要的过滤,然后附加:
var $nodes = $("<div class='a'>1</div><div class='b'>2</div>");
$('#a_stuff').append($nodes.filter('div.a'));
$('#b_stuff').append($nodes.filter('div.b'));
您可以过滤ajax请求,只获取HTML的某些部分作为响应。所以你会做$.get('/your_url #filtered_content', data, complete_callback_func);
参见http://api.jquery.com/load/有关详细信息,
您可以简单地使用$(responseString),它返回一个jQuery对象,您可以像普通的dom对象一样操作该对象。
示例
var ajaxResponse = '<div class="outer"><span class="inner">Some text</span></div>';
var obj = $(ajaxResponse );
现在你可以像这个一样将.iner跨度附加到主体上
obj.children('.inner').appendTo('body');
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- 如何通过ajax刷新JSF填充的javascript变量
- 如何在php文件中获取$.post-ajax传递的值
- Replacing $ .ajax?
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- Ajax发布表单序列化,发布引号'
- 通过Ajax将JavaScript函数传递给PHP文件
- ajax请求的顺序总是不同的
- 可以't使用Polymer's的核心ajax
- Ajax Live搜索发布到Laravel视图
- 可以't从AJAX请求中筛选数据
- 自定义筛选器不'我不使用django数据表视图创建的ajax.data.Json
- 数据表 AJAX 筛选器重新加载数据
- 从AJAX返回/筛选值的正确方法'd PHP脚本
- 使用字符串或DOM操作筛选AJAX响应
- 将Ajax与表排序/筛选相结合
- 使用jquery ajax筛选复选框
- 使用html select对筛选表进行ajax刷新
- AJAX在CodeIgniter中选择筛选
- JQuery AJax获取页面碎片查找与筛选