注意:这是另一个问题的延续,我认为这是两个需要解决的独立问题。我目前也不确定如何准确地表达这个问题,所以我会尽力而为,当我更清楚时,我会重新表达我的问题以供将来参考。
我正在编写两个基本的 jQuery 插件,$.fn.query
它们$.fn.build
分别对数组进行排序,并创建要插入到文档中的 html 代码。我目前正在使用将用于显示视频的 Vimeo 视频 ID 对其进行测试。
$.fn.build
有三个部分。首先它用单独的容器包装每个数组项,将它们构建成行(问题区域),然后最后将所有东西包装在一个容器中。(每个部分都是可选的)。
具体来说,问题来自这一行:$(tmp).add(newRow);
虽然它是有效的 javascript。
if ( options.splitBy !== undefined && options.wrapRow !== undefined ) {
var tmp = $([]),
newRow = function(i) {
$(build.splice( i, i + options.splitBy )).wrapAll( options.wrapRow ).parent();
};
for (var i = 0, l = build.length, a = options.splitBy; i < l; i += a) {
$(tmp).add(newRow);
}
build = tmp;
console.log(build);
}
见:http: //jsbin.com/upatus/2/edit