Я пытаюсь изменить порядок 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');
});
Вы можете использовать это с 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.
}
});
});
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");
Тогда используйте некоторый отзывчивый дизайн. В вашем случае используйте запросы @media в CSS. Лучше, чем делать это в скрипте.
@media screen and (max-width:980px) {
/* your style */
}
Если вы все еще предпочитаете использовать скрипт, вы можете подписаться на обработчик события изменения размера, например
$( window ).resize(function() {
if($(window).width()<requiredMinimum)
{
//dowhatever
}
else
{
//revertback
}
});