首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jQuery查找并交换两个div

使用jQuery查找并交换两个div
EN

Stack Overflow用户
提问于 2013-07-03 22:44:26
回答 1查看 535关注 0票数 0

目前正在开发一个响应式网站。当窗口大小调整为移动版时,我需要查找和重新排序一些div。现在我是这样做的:

代码语言:javascript
复制
$(window).resize(function() {
  var width = $(window).width();
  if( width < 768) {
    $('#id-1 .image-box').insertBefore($('#id-1 .text-box'));
    $('#id-2 .image-box').insertBefore($('#id-1 .text-box'));
    $('#id-3 .image-box').insertBefore($('#id-1 .text-box'));
  } else if( width > 767) {
    $('#id-1 .text-box').insertBefore($('#id-1 .image-box'));
    $('#id-2 .text-box').insertBefore($('#id-2 .image-box'));
    $('#id-3 .text-box').insertBefore($('#id-3 .image-box'));
  }
} );
$(window).resize();

有没有更有效的方法来做到这一点?我需要搜索一个div,在本例中是'.image-box',检查前一个div的类,如果是'.text-box‘,则交换这两个。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2013-07-03 22:55:44

在等待HTML之前,这里有一种更具伸缩性的方法。

代码语言:javascript
复制
var elements = [
   $('#id-1'),
   $('#id-2'),
   $('#id-3')
];
var swap = function(firstSelector, secondSelector) {
    for ( var i = 0, l = elements.length; i < l; ++i ) {
        elements[i].find(firstSelector)
            .insertBefore(elements[i].find(secondSelector);
    }
};
$(window).resize(function() {
  var width = $(window).width();
  if( width < 768) {
    swap('.image-box', '.text-box');
  } else if( width > 767) {
    swap('.text-box', '.image-box');
  }
});
$(window).resize();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17451111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档