从jquery ajax调用html更新多个元素
Update multiple elements with html from jquery ajax call
我有一个AJAX调用,返回多个需要在页面上替换的HTML片段:
<div data-replace="some-div">
<p>whatever</p>
</div>
<div data-replace="some-other-div">
<p>something else</p>
</div>
目前我正在添加所有的html到页面上的一个隐藏的div,然后做:
hiddenDiv.find('[data-replace]').each(function () {
$('#' + $(this).data('replace')).html($(this).html());
$(this).remove();
});
似乎可以工作,但似乎有点粗糙。
是否有更好的方法(同时仍然返回HTML而不是JSON,因为这是我无法控制的)?
我将创建一个包含所有DOM元素的jQuery对象,而不是将它们作为隐藏的div元素附加到文档中,因为您不需要它。你也不需要在你的更新后删除它。
像这样:
(假设您的AJAX响应是一个名为data的变量)
var $data = $("<div>" + data + "</div>");
$data.find('[data-replace]').each(function () {
$('#' + $(this).data('replace')).html(this.innerHTML);
});
相关文章:
- Javascript更新孙窗口中的表单元素
- Mongoose-在更新中删除数组元素
- Angular没有根据模型更新我的选择元素
- 元素未使用当前玩家操作进行更新
- d3在数据更新时错误地附加了dom元素
- Javascript元素更新侦听器
- JS设置间隔在函数中,该函数将同时调用,从而导致错误的元素更新
- 当 JQuery 元素更新时,挖空 JS 自定义绑定不会更新
- 使用新的数组元素更新backbone.js模型
- 如何在后台进行ajax请求和html元素更新
- 使用ajax dom元素更新视图模型
- 如何根据另一个元素更新一个元素的宽度
- 聚合物:不使用firebase元素更新firebase数据库
- 防止元素更新- JQuery
- 从父元素更新道具时出错(执行removeChild失败)
- jQuery的hasClass()函数在元素更新后不起作用
- 通过Raphael.JS元素更新HTML信息
- 通过本机select元素更新belongsTo关系
- 使用jQuery change方法从Javascript对象和html select元素更新内容
- Angular如何在每个摘要的DOM元素更新后触发回调函数