Изменить порядок div с помощью JavaScript

0

Я пытаюсь изменить порядок div с помощью JavaScript ". Так я могу это сделать?

<div id="pageWrapper">
    <div id="one">1</div>
    <div id="two">2</div>
    <div id="three">3</div>
    <div id="four">4</div>
</div>

$(document).ready(function(){ 
        $('#pageWrapper').prepend('#three');
        $('#pageWrapper').prepend('#four');

});
  • 0
    Ну, это работает? Вы пытались запустить код?
  • 0
    Вам следует рассмотреть возможность использования CSS flexbox для достижения этой цели.
Показать ещё 2 комментария
Теги:

3 ответа

3
Лучший ответ

Вы можете использовать это с window.resize() если это необходимо (вы должны использовать оператор else, чтобы снова установить его значение по умолчанию)

$(document).ready(function(){
    $(window).resize(function(){    
     if ($(window).width() < 980) {
        $('#three').insertBefore('#one');
        $('#four').insertBefore('#two');
     } else {
      // Set back to default, or whatever you like.
     }
    });
});

jsFiddle здесь.

  • 1
    Это будет работать, хотя prependTo, вероятно, более логичный метод для использования. api.jquery.com/prependTo
1

prepend не принимает селектор String. Из документа:

.prepend( content [,content] )
────────────────────────────────────────────────── ──────────────
содержание
Тип: htmlString или Element или Array или jQuery

DOM, массив элементов, HTML-строку или объект jQuery для вставки в начале каждого элемента в наборе согласованных элементов.

Вместо этого вы должны передать объект jQuery:

http://jsfiddle.net/DerekL/eHq2a/

$('#pageWrapper').prepend($('#three'));
$('#pageWrapper').prepend($('#four'));

//or just

$('#pageWrapper').prepend($('#four'), $('#three'));

Однако интересно .prependTo принимает селектор String:

$("#three").prependTo("#pageWrapper");
-1

Тогда используйте некоторый отзывчивый дизайн. В вашем случае используйте запросы @media в CSS. Лучше, чем делать это в скрипте.

@media screen and (max-width:980px) {
/* your style */
}

Если вы все еще предпочитаете использовать скрипт, вы можете подписаться на обработчик события изменения размера, например

$( window ).resize(function() {
  if($(window).width()<requiredMinimum)
  {
    //dowhatever
  }
  else
  {
    //revertback
  }
});
  • 2
    Хороший совет, но ... как это отвечает на вопрос?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню