您有一些数据和一些 HTML,您需要以合理的方式将它们合并在一起。你基本上是在做客户端模板。
这是一种基本方法:
$.get
您需要的 HTML 并转换为 jQuery 对象processBlock()
$.get
您需要的数据getDataFor($el)
- 用#2 的结果更新#1
renderBlock($el, data)
- 将更新后的 HTML 插入 DOM
addToContent($el)
代码:
$.get("block.html", processBlock);
// create a documentFragment to fill in later
function processBlock(html) {
var $block = $(html);
getDataFor($block);
}
// get any needed data by querying for JSON
function getDataFor($el) {
$.getJSON("query.php", function(data) {
renderBlock($el, data);
});
}
// take the data and the element and
function renderBlock($el, data) {
$el.find("#color").text(data.color);
$el.find("#size").text(data.size);
addToContent($el);
}
function addToContent($el) {
$el.appendTo($("#content"));
}
在非 jquery 领域,您正在创建一个名为 documentFragment 的东西,它允许您在将其插入页面之前创建一些您操作的 DOM。
更简单的小提琴版本:http:
//jsfiddle.net/9kLzP/