元素的重新排序逻辑

时间:2020-01-28 15:00:11

标签: javascript jquery

我正在尝试对元素进行重新排序。有些元素具有类.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));
      }
  }
});

1 个答案:

答案 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]));
}
相关问题