我正在尝试对元素进行重新排序。有些元素具有类.image_container
,有些则没有。我想让所有已说出类的元素在容器顶部渲染,而在末尾不渲染。
我正在使用的逻辑似乎有点偏离,但我根本无法弄清楚哪里/什么。我希望第二双眼睛会有所帮助!谢谢!
下面是我的代码:
$('.teaser').each(function() {
if ($(this).find('figure.image_container').length !== 0) {
if ($(this).prev().find('figure.image_container').length == 0) {
$(this).insertBefore($(this).prev());
}
} else if ($(this).find('figure.image_container').length == 0) {
if ($(this).next().find('figure.image_container').length !== 0) {
$(this).next().insertBefore($(this));
}
}
});
答案 0 :(得分:1)
var tsr = $(".teaser");
var arr = [];
var nodesWithClass = $(".teaser figure.image_container");
nodesWithClass.each(function() {
arr.push(this);
});
for(var i = 0; i < arr.length; i++) {
arr[i].parentNode.removeChild(arr[i]);
tsr.prepend($(arr[i]));
}