在 DOM 重建(使用 .append())之后,我无法找到最短的 div(根据它的当前高度)。我想一个接一个地从一个 json 数组中附加数据,但总是附加到当前最短的 div (以使它们的高度均匀)。这是我的 HTML 的样子:
<div class="article_column" id="data0"></div>
<div class="article_column" id="data1"></div>
<div class="article_column" id="data2"></div>
<div class="article_column" id="data3"></div>
这就是我目前在 jquery 中所做的事情:
$.each(data, function (i, column) {
var shortest = [].reduce.call($(".article_column"), function (sml, cur) {
return $(sml).height() < $(cur).height() ? sml : cur;
});
$(shortest).append(column.html);
});
这似乎有点工作,但仅适用于前 4 个元素左右。之后,大部分数据都被附加到一个 div 中。显然这不是我要找的。我的代码有问题吗?我怀疑 DOM 没有快速更新,因此选择了错误的 div。有任何想法吗?